Это описание проекта TaskPlanner, где я расскажу о его функциональности, технологическом стеке и других деталях.
Вы можете просмотреть демонстрацию проекта, перейдя по ссылке: TaskPlanner В приложении вы можете авторизоваться или пойти под своей учетной записью GitHub и Google
Создать To-Do лист в виде календаря, где каждый день представлен как список задач. При клике на день открывается модальное окно со списком задач. В этом окне можно создавать новые задачи, удалять их и помечать как выполненные.
- Приятный внешний вид
- Семантическая верстка
- Адаптивный дизайн
- Реализация через Flexbox или Grid
- Желательно использовать БЭМ
- Маркировка праздничных дней с использованием isDayOff() API
- Вывод задач по неделе
- Использование TypeScript
- Покрытие интерфейса тестами
- Система профилей: у каждого профиля свой список задач, не отображаемый в другом профиле
- Реализовать Dependency Inversion для внешних HTTP-запросов
- Понятная структура проекта
- Разворачивание проекта в Docker
-
Webpack
-
React 18
-
React Router DOM 6
-
TypeScript 5
-
MUI Material-UI 5
-
Docker
- Firebase 10
Для авторизации в приложении вы можете использовать OAuth-авторизацию через учетные записи GitHub и Google.
-
Склонируйте репозиторий:
git clone https://github.com/your/repository.git -
Перейдите в папку проекта:
cd project-directory -
Установите зависимости:
npm install -
Запустите приложение в режиме разработки:
npm run start -
Откройте приложение в браузере по адресу: http://localhost:8080
-
Команда для сборки docker image
docker build -t airnet . -
Команда для запуска docker container
docker run --rm --name myproject -p 3000:8080 -d airnet -
Перейти можно http://localhost:3000
-
Команда для просмотра запущенных и остановленных контейнеров
docker ps -a -
Команда для остановки контейнера
docker stop myproject -
Чтобы удалить образ Docker
docker rmi ОБРАЗ
Для этого проекта используется CI/CD, чтобы осуществлять пул-реквесты в удаленный репозиторий, код проходит проверку через инструменты Prettier, ESLint и Stylelint, чтобы обеспечить согласованный стиль кодирования.