Простое и красивое приложение для управления задачами, создан с использованием современных технологий.
Макет: Ссылка на макет
Ссылка на проект: https://project-to-409ryuzd2-nuras-projects-4eaf7c80.vercel.app
Добавление и удаление задач
Отметка выполнения (галочка)
Фильтрация: все / активные / завершённые
Пагинация (по 7 задач на странице)
Темная и светлая тема
Сохранение данных в localStorage
Адаптивный дизайн — отлично выглядит на мобильных, планшетах и десктопах
Написано на TypeScript — типизация везде
Используется MobX для управления состоянием
- Клонируем репозиторий
- Переходим в папку проекта: cd todo-app
- Установливаем зависимости: npm install
- Запускаем сервер разработки: npm run dev
React — интерфейс TypeScript — статическая типизация MobX — управление состоянием CSS — кастомные стили без сторонних библиотек localStorage — сохранение данных между сессиями Responsive Design — поддержка всех устройств
Проект покрыт юнит-тестами с использованием Jest Запустите тесты: npx jest src/stores/tests/todoStore.test.ts
my-todo-app/
├── public/
│ ├── index.html
│ └── favicon.ico
├── src/
│ ├── assets/
│ │ └── css/
│ │ ├── reset.css
│ │ ├── variables.css
│ │ └── App.css
│ ├── components/
│ │ ├── Header/
│ │ │ ├── TodoFilter/
│ │ │ │ ├── TodoFilter.tsx
│ │ │ │ └── TodoFilter.css
│ │ │ ├── Header.tsx
│ │ │ └── Header.css
│ │ ├── Pagination/
│ │ │ ├── Pagination.tsx
│ │ │ └── Pagination.css
│ │ ├── ThemeSwitcher/
│ │ │ ├── ThemeSwitcher.tsx
│ │ │ └── ThemeSwitcher.css
│ │ └── TodoList/
│ │ ├── TodoItem/
│ │ │ ├── TodoItem.tsx
│ │ │ └── TodoItem.css
│ │ ├── TodoList.tsx
│ │ └── TodoList.css
│ ├── context/
│ │ └── ThemeContext.tsx
│ ├── hooks/
│ │ └── useTheme.ts
│ ├── stores/
│ │ ├── todoStore.ts
│ │ └── __tests__/
│ │ └── todoStore.test.ts
│ ├── types/
│ │ ├── filterOptions.ts
│ │ └── task.ts
│ ├── App.tsx
│ └── main.tsx
Обратная связь: tilepovanura@gmail.com Создано с ❤️ — Tilepova Nuraiym