Веб‑сервис для управления командами и проектами с диаграммой (Gantt) и зависимостями задач/этапов.
- Python: 3.10+ (рекомендуем 3.11)
- Node.js: 18+ (рекомендуем 20)
- npm: идёт вместе с Node.js
Backend стартует на http://localhost:8000.
cd backend
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows (PowerShell)
pip install -r requirements.txtcd backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000- Swagger UI:
http://localhost:8000/docs - OpenAPI JSON:
http://localhost:8000/openapi.json
- Используется SQLite.
- По умолчанию файл БД:
backend/app.db - Таблицы создаются автоматически при старте backend (через
Base.metadata.create_all(...)).
Проверить содержимое БД:
cd backend
sqlite3 app.db
.tables
SELECT * FROM students;
.exitFrontend стартует на http://localhost:5173.
cd frontend
npm install
npm run dev- Frontend обращается к API по относительным путям
/api/... - Vite проксирует
/api/*наhttp://localhost:8000(см.frontend/vite.config.ts)
- Откройте
http://localhost:5173/register - Зарегистрируйтесь (email, имя, пароль)
- Войдите через
http://localhost:5173/login
Примечание:
- Access token хранится в
localStorage(ключrg_access_token).
- На Dashboard создайте команду.
- Откройте команду и проверьте:
- список проектов
- возможность создавать/редактировать/удалять проекты
Рекомендуемый сценарий: 2 аккаунта.
- Под аккаунтом A создайте команду.
- Пригласите аккаунт B в команду (по email).
- Под аккаунтом B примите приглашение (в уведомлениях).
- Внутри команды создайте проект (название, дедлайн, описание).
- Откройте проект (страница диаграммы).
На странице проекта:
- добавляйте этапы
- добавляйте задачи внутри этапов
- редактируйте длительность / ответственных / комментарии
- добавляйте зависимости (drag & drop)
- нажимайте “Сохранить изменения” и проверяйте, что после перезагрузки данные сохранились
- Зависимости отображаются стрелками поверх диаграммы.
- Стрелка подводится к началу связанного элемента, с несколькими поворотами и скруглениями (для читаемости).
- В шапке дат “сегодня” подсвечивается (другая заливка/белый текст + точка).
- Откройте DevTools → Console и посмотрите stacktrace.
- Перезапустите frontend (
Ctrl+C, затемnpm run dev).
- Проверьте, что backend запущен на
:8000, frontend на:5173. - Проверьте прокси в
frontend/vite.config.ts.
Backend:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8001Frontend:
npm run dev -- --port 5174- Регистрация и вход
- Создание команды
- Приглашение пользователя и принятие приглашения
- Создание проекта
- Добавление этапов/задач
- Зависимости (этап→этап, задача→задача, этап→задача)
- Сохранение и перезагрузка страницы (данные сохраняются)