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.