Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reverse Gantt (Diagramm)

Веб‑сервис для управления командами и проектами с диаграммой (Gantt) и зависимостями задач/этапов.

Быстрый старт (локально)

Требования

  • Python: 3.10+ (рекомендуем 3.11)
  • Node.js: 18+ (рекомендуем 20)
  • npm: идёт вместе с Node.js

Backend (FastAPI)

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.txt

Запуск

cd backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Swagger

  • 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;
.exit

Frontend (Vite + React)

Frontend стартует на http://localhost:5173.

Установка зависимостей и запуск

cd frontend
npm install
npm run dev

Как работают запросы к API

  • Frontend обращается к API по относительным путям /api/...
  • Vite проксирует /api/* на http://localhost:8000 (см. frontend/vite.config.ts)

Как пользоваться сервисом (для тестировщиков)

1) Регистрация / Вход

  1. Откройте http://localhost:5173/register
  2. Зарегистрируйтесь (email, имя, пароль)
  3. Войдите через http://localhost:5173/login

Примечание:

  • Access token хранится в localStorage (ключ rg_access_token).

2) Команды (Teams)

  1. На Dashboard создайте команду.
  2. Откройте команду и проверьте:
    • список проектов
    • возможность создавать/редактировать/удалять проекты

3) Приглашения в команду

Рекомендуемый сценарий: 2 аккаунта.

  1. Под аккаунтом A создайте команду.
  2. Пригласите аккаунт B в команду (по email).
  3. Под аккаунтом B примите приглашение (в уведомлениях).

4) Проекты (Projects)

  1. Внутри команды создайте проект (название, дедлайн, описание).
  2. Откройте проект (страница диаграммы).

5) Диаграмма (Gantt)

На странице проекта:

  • добавляйте этапы
  • добавляйте задачи внутри этапов
  • редактируйте длительность / ответственных / комментарии
  • добавляйте зависимости (drag & drop)
  • нажимайте “Сохранить изменения” и проверяйте, что после перезагрузки данные сохранились

Зависимости и стрелки

  • Зависимости отображаются стрелками поверх диаграммы.
  • Стрелка подводится к началу связанного элемента, с несколькими поворотами и скруглениями (для читаемости).

Текущая дата

  • В шапке дат “сегодня” подсвечивается (другая заливка/белый текст + точка).

Типовые проблемы

Пустая страница / ошибка в консоли

  1. Откройте DevTools → Console и посмотрите stacktrace.
  2. Перезапустите frontend (Ctrl+C, затем npm run dev).

CORS / запросы не проходят

  • Проверьте, что backend запущен на :8000, frontend на :5173.
  • Проверьте прокси в frontend/vite.config.ts.

Порт занят

Backend:

uvicorn app.main:app --reload --host 0.0.0.0 --port 8001

Frontend:

npm run dev -- --port 5174

Чек‑лист “smoke test”

  • Регистрация и вход
  • Создание команды
  • Приглашение пользователя и принятие приглашения
  • Создание проекта
  • Добавление этапов/задач
  • Зависимости (этап→этап, задача→задача, этап→задача)
  • Сохранение и перезагрузка страницы (данные сохраняются)

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages