SPEEDSOLVER — это система управления проектами, предназначенная для эффективного управления командами, проектами, задачами, подзадачами и дедлайнами. Проект помогает командам организовать свою работу, отслеживать прогресс и достигать поставленных целей в срок.
Important
Проект является опенсорсным решением для вашей команды, и ссылки, которые предоставлены выше, неспособны выдержать чрезмерно высокую нагрузку.
Important
- https://speedsolver.ru/ - основной сайт.
 - https://api.speedsolver.ru/docs - документация к API
 
- Авторизация: авторизация в рамках сессий благодаря JWT токенам. Предоставление access и refresh токенов.
 - Регистрация через почту: Регистрация, благодаря подтверждению почты через код.
 - Личный профиль: Информация о Вас, социальные сети.
 - Личная статистика: Количество открытых и закрытых задач.
 - Управление командами: Создание, удаление, обновление команды.
 - Менеджмент участников команды: Приглашение в команду, удаление из команды
 - Назначение модераторов в команде: Позволять модераторам создавать проекты для команды.
 - Управление проектами: Создание, обновление, удаление проектов. Общение в реальном времени внутри проекта с сохранением истории чата.
 - Управление задачами: Создание, редактирование и удаление задач.
 - Дедлайны: Установка и отслеживание дедлайнов для задач и подзадач.
 - Уведомления: Автоматические уведомления о приближающихся дедлайнах и изменениях в задачах.
 
- Frontend: React + TypeScript
 - Backend: Python - FastAPI, Pydantic, Uvicorn (проксирующийся через nginx)
 - Object Relational Mapping: Python SQLAlchemy, Alembic, asyncpg driver
 - База данных: PostgreSQL
 - Аутентификация & Авторизация: JWT (JSON Web Tokens) - pyjwt
 - Тестирование Backend: Python - pytest
 - Мониторинг: Grafana, Prometheus, Node Exporter, AlertManager
 - Логирование: Собственная библиотека teleglog
 - Дополнительно:
- Docker – контейнеризация приложения.
 - Nginx - Веб-сервер для проксирования внешних подключений путем reverse proxy, реализация защищенного соединения с SSL/TLS, проксирование поддоменов.
 - Github Actions (CI/CD) – непрерывная интеграция и непрерывная доставка.
 
 
- Клонируйте репозиторий:
git clone https://github.com/w1tnessbtwwwww/SpeedSolver.git
 - Необходимо создать файл .env и заполнить его из .env.example.
 - Необходимо переназначить порты в файле .env в случае, если у вас заняты одни из назначенных вами.
 - Запустите Docker Engine на вашем компьютере или виртуальной машине.
 - Запустите контейнеры Docker с Backend и Frontend частью:
 
- 
macOS/Linux:
make build-backend make build-frontend
 - 
Windows:
- При наличии утилиты make от chocolatey:
 
make build-backend make build-frontend
- В ином случае:
 
docker-compose --env-file SpeedSolverBackend/SpeedSolverAPI/.env -f SpeedSolverBackend/SpeedSolverAPI/docker/docker-compose.backend.yml --project-directory SpeedSolverBackend/SpeedSolverAPI up --build -d docker-compose -f docker/docker-compose.frontend.yml --project-directory . up --build 
После выполнения всех вышеперечисленных шагов вы сможете получить доступ к:
- Backend - http://localhost:port/docs, запросы - https://localhost:port/v1/...
 - Frontend - http://localhost:port/
 
Этот проект лицензирован по лицензии Apache License 2.0. Подробности см. в файле LICENSE.