Проект автоматизации взаимодействия с API Единого портала государственных услуг (ЕПГУ): подача заявлений, подписание документов через КриптоПро, получение статусов и ответных документов.
| Каталог | Назначение |
|---|---|
| api-gosuslugi-backend/ | FastAPI-сервис: КриптоПро, подпись, проксирование вызовов ЕПГУ |
| api-gosuslugi-client/ | React-приложение (Ant Design): UI для подачи заявлений |
| docs/ | Архитектура, схемы XML, API, диаграммы Mermaid, регламенты ЕПГУ |
| habr/ | Статьи для публикации на Хабре |
| step/ | Пошаговые инструкции с иллюстрациями (настройка ИС, сертификатов) |
cp .env .env.local # заполнить apikey, KeyPin и пр.
docker-compose up -d --build- Фронтенд: http://localhost:5080
- Бэкенд (Swagger): http://localhost:5000/docs
Подробные сценарии установки и использования — в HOWTO.md.
flowchart LR
U[Пользователь] --> FE[React / Nginx :5080]
FE -->|/api| BE[FastAPI :5000]
BE -->|pycades| CP[КриптоПро CSP]
BE -->|HTTPS + JWT| ESIA[ЕСИА / ЕПГУ API]
Полная архитектура — в docs/architecture.md.
- Авторизация — организация-потребитель получает JWT-токен через ЕСИА, используя API-ключ и подпись КриптоПро.
- Создание заявления — генерация XML по спецификации ЕПГУ, подпись КриптоПро (CAdES-BES), отправка через API.
- Обработка ответов — статусы поданных заявлений, загрузка ответных документов.
- Работа с сертификатами — список, выбор активного, отображение субъекта.
- Администрирование — управление API-ключами, услугами (через переменную
SERVICES).
- Docker / Docker Compose
- КриптоПро CSP (устанавливается в backend-образ), сертификат и закрытый ключ организации
- API-ключ организации-потребителя ЕПГУ
- docs/README.md — указатель по всей документации
- docs/architecture.md — компоненты и потоки
- docs/api.md — справочник эндпоинтов
- docs/schemas.md — XML/XSD и модели данных
- docs/deployment.md — развёртывание
- docs/sequence-diagrams.md — последовательности
- habr/ — статьи
MIT — см. LICENSE.