Менеджер задач

Веб-приложение для управления задачами, разработанное с использованием технологического стека Astro + Svelte + Prisma + Node.js. Приложение обеспечивает полный функционал CRUD (создание, чтение, обновление, удаление) для управления задачами, а также поддерживает фильтрацию по приоритету и статусу задач.

✨ Особенности

  • Современный пользовательский интерфейс с поддержкой тёмной и светлой темы
  • Анимированный фон с частицами и интерактивными эффектами
  • Адаптивный дизайн для всех устройств (мобильные, планшеты, настольные ПК)
  • Анимации интерфейса для плавных переходов и улучшенного UX
  • Валидация данных с использованием Zod
  • REST API для работы с задачами
  • Полный набор тестов для компонентов и API
  • База данных SQLite для хранения задач (через Prisma ORM)

🛠️ Технологический стек

  • Frontend:
    • Astro - фреймворк веб-приложений
    • Svelte - компонентная библиотека с реактивностью
    • TailwindCSS - утилитарный CSS-фреймворк
    • HTML5 Canvas для анимированного фона
  • Backend:
    • Node.js - серверная среда выполнения JavaScript
    • Prisma - ORM для работы с базой данных
    • SQLite - встроенная база данных
    • Zod - библиотека валидации данных
  • Тестирование:
    • Vitest - фреймворк тестирования
    • Testing Library - утилиты для тестирования компонентов

🚀 Запуск проекта

Предварительные требования

  • Node.js (версия 16+)
  • npm или yarn

Установка

  1. Клонируйте репозиторий:

    git clone [email protected]:DrAIex/Task_Manager-Astro-Svelte-Prisma-.git
    cd Task_Manager-Astro-Svelte-Prisma-
    
  2. Установите зависимости:

    npm install
    
  3. Настройте базу данных:

    npx prisma migrate dev --name init
    
  4. Запустите проект в режиме разработки:

    npm run dev
    

🧪 Тестирование

Запустите тесты в режиме однократного выполнения:

npm test

Запустите тесты в режиме отслеживания изменений:

npm run test:watch

🏗️ Структура проекта

/
├── prisma/            # Схема и миграции Prisma
├── public/            # Статические ресурсы
├── src/
│   ├── components/    # Svelte компоненты
│   ├── layouts/       # Astro шаблоны
│   ├── pages/         # Маршруты приложения
│   │   ├── api/       # API эндпоинты
│   │   └── index.astro # Основная страница
│   ├── styles/        # Глобальные стили
│   └── utils/         # Вспомогательные функции
├── test/              # Тестовые файлы
│   ├── api/           # Тесты API
│   ├── components/    # Тесты компонентов
│   └── utils/         # Вспомогательные функции для тестов
└── package.json       # Зависимости и скрипты

📝 Функциональность задач

  • Создание новых задач с указанием заголовка, описания, приоритета и срока выполнения
  • Просмотр списка задач с возможностью фильтрации по приоритету и статусу
  • Редактирование существующих задач
  • Отметка задач как выполненных/невыполненных
  • Удаление задач

🎨 Особенности интерфейса

  • Переключение между тёмной и светлой темой с сохранением предпочтений пользователя
  • Анимированный фон с частицами, реагирующий на текущую тему
  • Плавные анимации при добавлении, удалении и переходах между состояниями
  • Модальные окна для редактирования задач
  • Адаптивный интерфейс для всех размеров экрана

Top categories

svelte logo

Need a Svelte website built?

Hire a professional Svelte developer today.
Loading Svelte Themes