Files

2.5 KiB

АС «Платформа ОПОРА РОССИИ»

Автоматизированная система для общероссийской общественной организации МСП «ОПОРА РОССИИ»: мессенджер-бот, 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

Миграции БД

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 — контракты API
  • docs/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.