Менеджер задач
Веб-приложение для управления задачами, разработанное с использованием технологического стека 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 - библиотека валидации данных
- Тестирование:
🚀 Запуск проекта
Предварительные требования
- Node.js (версия 16+)
- npm или yarn
Установка
Клонируйте репозиторий:
git clone [email protected]:DrAIex/Task_Manager-Astro-Svelte-Prisma-.git
cd Task_Manager-Astro-Svelte-Prisma-
Установите зависимости:
npm install
Настройте базу данных:
npx prisma migrate dev --name init
Запустите проект в режиме разработки:
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 # Зависимости и скрипты
📝 Функциональность задач
- Создание новых задач с указанием заголовка, описания, приоритета и срока выполнения
- Просмотр списка задач с возможностью фильтрации по приоритету и статусу
- Редактирование существующих задач
- Отметка задач как выполненных/невыполненных
- Удаление задач
🎨 Особенности интерфейса
- Переключение между тёмной и светлой темой с сохранением предпочтений пользователя
- Анимированный фон с частицами, реагирующий на текущую тему
- Плавные анимации при добавлении, удалении и переходах между состояниями
- Модальные окна для редактирования задач
- Адаптивный интерфейс для всех размеров экрана