REST API блога, разработанное с использованием FastAPI и SQLAlchemy, в качестве базы данных испольхуется postgres 16. Тесты написаны с помощью pytest.
Для запуска сервиса понадобится установленный Docker
- Клонируем репозиторий
git clone https://github.com/NikitaRusanov/simple-blog.git
- Создаем
.env
файл или устанавливаем переменные окружения:DB_HOST=database
(адресс БД, совпадает с именем сервиса в конфигурации docker compose)DB_PORT=5432
порт БД (по умолчанию 5432)DB_NAME
имя БДDB_USER
имя пользователя БДDB_PASS
пароль пользователя БДPOSTGRES_USER
имя пользователя БД для конфигурации postgres (доллжно совпадать сDB_USER
)POSTGRES_DB
имя БД для конфигурации postgres (доллжно совпадать сDB_NAME
)POSTGRES_PASSWORD
пароль пользователя БД для конфигурации postgres (доллжно совпадать сDB_PASS
)PRIVATE_KEY_PATH
иPUBLIC_KEY_PATH
пути к приватному и публичному ключу (по умолчанию проверяюся файлыprivate.pem
иpublic.pem
в катоголеcerts
в корне проекта)
- Необязательные переменные окружения
DEBUG=False
вывод отладочных сообщений в консоль
- Для запуска сервиса можно воспользоваться командой
make run
в корне проекта или поднять контейнеры напрямую с помощью docker compose:docker-compose --env-file={path/to/dotenv} -f docker-compose.yml up -d
- После запуска сервис будет доступен на 8000 порту
- Для просмотра логов можно воспользоваться командой
make logs
- Чтобы остановиь сервис можно воспользоваться командой
make stop
или сделать это напрямую с помощью docker compose:docker-compose -f docker-compose.yml down -v
- Для запуска тестов нужно созать переменные тестового окружения в фалйе
.test.env
и выполнить командуmake run-tests