Skip to content
/ elsa Public

MVP: REST API справочника с организациями, зданиями и видами деятельности.

License

Notifications You must be signed in to change notification settings

sibeardev/elsa

Repository files navigation

elsa

REST API для приложения справочника с организациями, зданиями и видами деятельности.

⚠️ MVP. Проект реализован в рамках тестового задания.

Основная цель — демонстрация:

  • проектирование реляционной модели данных
  • асинхронную работу с PostgreSQL
  • FastAPI + SQLAlchemy 2.0
  • Alembic миграции
  • документированный API (Swagger / ReDoc)

Запуск проекта

1. Клонирование

git clone https://github.com/sibeardev/elsa.git
cd elsa

2. Создайте файл окружения .env

POSTGRES__USER={user}
POSTGRES__PASSWORD={yourpassword}
POSTGRES__DB={catalog_db}
API_KEY={staticApiKey}

3. Настройка Alembic

В alembic.ini найдите sqlalchemy.url и установите:

sqlalchemy.url = postgresql+asyncpg://user:yourpassword@db:5432/db

user, yourpassword и db должны совпадать с настройками из .env

4. Запуск через Docker

docker-compose up --build

5. Применение миграций

docker compose exec api uv run alembic upgrade head

После запуска сервисы доступны по следующим адресам:

6. Заполнение тестовыми данными

docker compose exec api uv run python -m scripts.seed_db

Источник данных: data/test_data.json

7. Остановить приложение и БД

Ctrl+C или

docker compose down

About

MVP: REST API справочника с организациями, зданиями и видами деятельности.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published