TaskBoard — веб-приложение для управления задачами. Пользователь может зарегистрироваться, войти в систему, создавать задачи, удалять их и отмечать как выполненные.
Проект сделан как простой task manager с разделением на frontend и backend.
В приложении есть базовый сценарий работы с задачами:
- регистрация пользователя;
- вход в систему;
- просмотр списка задач;
- создание новой задачи;
- удаление задачи;
- переключение статуса выполнения.
Backend поднимается на FastAPI, frontend сделан на React, а данные хранятся в PostgreSQL.
Клонируйте репозиторий:
git clone https://github.com/Jlychee/TaskBoard.git
cd TaskBoardЗапустите проект через Docker Compose:
docker compose up --buildПосле запуска сервисы будут доступны по адресам:
- frontend —
http://localhost:5173 - backend —
http://localhost:8000 - PostgreSQL —
localhost:5433
cd backend
pip install -r requirements.txt
uvicorn src.main:app --reloadcd frontend
npm install
npm run dev- Python 3.12
- FastAPI
- SQLAlchemy
- Alembic
- PostgreSQL
- Passlib / bcrypt
- React
- Vite
- Tailwind CSS
- Ant Design
- React Router
- Axios
- Docker Compose
Backend находится в папке backend/.
Что есть в серверной части:
- роуты для пользователей и задач;
- регистрация и логин;
- создание таблиц при старте приложения;
- CRUD-операции для задач;
- хеширование паролей;
- миграции через Alembic;
- CORS для локального frontend.
Основные endpoint'ы:
POST /users/create_userPOST /users/loginGET /usersGET /users/{id}GET /tasks/{id}POST /tasks/create_taskDELETE /tasks/delete_task/{id}PATCH /tasks/toggle_task/{id}
Frontend находится в папке frontend/.
Клиентская часть включает:
- форму регистрации;
- форму входа;
- контейнер со списком задач;
- маршрутизацию между экранами;
- контекст авторизации;
- UI на Ant Design и Tailwind CSS.
Основные компоненты:
Card.jsxLoginForm.jsxRegisterForm.jsxToDoContainer.jsx
TaskBoard/
├── backend/
│ ├── src/
│ │ ├── api/
│ │ ├── crud/
│ │ ├── db/
│ │ ├── migrations/
│ │ ├── schemas/
│ │ └── main.py
│ ├── Dockerfile
│ ├── alembic.ini
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── App.jsx
│ │ ├── AuthContext.jsx
│ │ └── main.jsx
│ └── package.json
└── docker-compose.yml