049b679654206a2c9ba9b969a9dc0a2ef5493832
АС «Платформа ОПОРА РОССИИ»
Автоматизированная система для общероссийской общественной организации МСП «ОПОРА РОССИИ»: мессенджер-бот, mobile-first веб-приложение и единое API.
Стек
- Backend: Python 3.12, FastAPI, SQLAlchemy 2, Alembic
- БД: PostgreSQL 16
- Кэш/очередь: Redis, Celery
- Бот: aiogram 3 (Telegram) + адаптер MAX
- Frontend: React, TypeScript, Vite, Tailwind CSS, Recharts
- Файлы: MinIO (S3-совместимое)
- Инфра: Docker Compose, Nginx, Let's Encrypt
- AI-ассистент: OpenRouter (
deepseek/deepseek-chat)
Структура
backend/ FastAPI-приложение, модели, миграции
frontend/ React SPA (mobile-first, PWA)
bot/ aiogram-бот
deploy/ nginx.conf, сертификаты
docs/ документация проекта
tech-design/ модель данных, API, макеты
design/ дизайн-система
tools/ вспомогательные скрипты (тест LLM)
docker-compose.yml
.gitlab-ci.yml
Быстрый старт (локально)
cp .env.example .env
# заполнить .env (пароли, токены)
docker compose up -d --build
- API: http://localhost/api/docs
- Сайт: http://localhost/
- MinIO Console: http://localhost:9001
Миграции БД
docker compose exec api alembic revision --autogenerate -m "init"
docker compose exec api alembic upgrade head
Разработка
# backend
cd backend && pip install -r requirements.txt
uvicorn app.main:app --reload
# frontend
cd frontend && npm install && npm run dev
Документация
docs/stack.md— стек и архитектураdocs/tech-design/01-data-model.md— модель данныхdocs/tech-design/02-api.md— контракты APIdocs/tech-design/03-screens.md— макеты экрановdocs/design/design-system.md— дизайн-системаdocs/llm-test-report.md— тест LLM-моделей
Деплой
CI/CD через GitLab CI: линтеры → тесты → сборка образов → деплой на сервер (вручную, ветка main).
Требуемые переменные GitLab CI: SSH_PRIVATE_KEY, DEPLOY_HOST, DEPLOY_USER, CI_REGISTRY_IMAGE.
Languages
Python
93.7%
TypeScript
2.7%
CSS
1.1%
Dockerfile
0.9%
JavaScript
0.6%
Other
1%