- При PATCH POST PUT запросах у меня JSON Server обновляет страницу в браузере, я создал свой сервер на экспрессе для проверки и у меня он не обновлял страницу , у вас может быть по другому это скорее всего ошибка версий или же самого фреймфорка, так как я исп React Vite(19v).
- Также можете отключить throttling в devtools, так как у меня уже стоит задержка при запросах для имитации.
- Добавление, редактирование и удаление задач (название, описание, дата)
- Поиск задач по названию
- Фильтрация по статусу: Все / В процессе / Выполнено
- Переключение между светлой и тёмной темой
- Уведомления
- React Vite
- TypeScript
- Redux Toolkit
- Axios
- TailwindCSS
- JSON Server
- создай папку для проекта
mkdir todolist
cd todolist- Клонируйте репозиторий:
git clone https://github.com/your-username/todolist.git .- Установите зависимости:
npm install
# или
yarn install- В терминале запустите приложение (убедитесь, что 5173 порт свободен):
npm run dev
# или
yarn dev- Откройте второй терминал в той же папке и запустите JSON Server для эмуляции API (убедитесь, что 3002 порт свободен):
npm run server
# или
yarn server- Откройте браузер и перейдите по адресу:
http://localhost:5173
Это больше не сложнось, а скорее то что занело больше всего времени(5ч). Это то что при PATCH, PUT, POST запросах в JSON Server страница обновляется я думал у меня ошибка в коде оказалось это JSON Server так работал. Незнаю в чем причина, может быть это только на моем ноутбуке или же это из за React Vite если узанаете в чем причина буду благодарен.
Самой качественной частью решения считаю компонент TaskModal, который адаптируется под три различных сценария использования (создание, редактирование и просмотр задачи) с единым интерфейсом, но разной логикой. Также хотел бы отметить компоновку компонентов.
При наличии дополнительного времени я бы:
- Добавил drag-and-drop для изменения порядка задач
- Реализовал аутентификацию пользователей
- Добавил возможность прикрепления файлов к задачам
- Реализовал более сложную логику фильтрации задач (по дате, приоритету и т.д.)
- Улучшил стилизацию и адаптивность интерфейса
На реализацию проекта было потрачено около 19 часов.