#GoIT, #Python #WEB, Homework number 11. #FastAPI. #PostgreSQL. #Docker. #RESTAPI. #ORM #SQLAlchemy. #Pydantic. #Alembic.
Cтворити REST API для зберігання та управління контактами. API повинен бути побудований з використанням інфраструктури FastAPI та використовувати SQLAlchemy для управління базою даних.
- Ім'я
- Прізвище
- Електронна адреса
- Номер телефону
- День народження
- Додаткові дані (необов'язково)
- Створити новий контакт
- Отримати список всіх контактів
- Отримати один контакт за ідентифікатором
- Оновити існуючий контакт
- Видалити контакт
- Контакти повинні бути доступні для пошуку за іменем, прізвищем чи адресою електронної пошти (Query).
- API повинен мати змогу отримати список контактів з днями народження на найближчі 7 днів.
- Використання фреймворку FastAPI для створення API
- Використання ORM SQLAlchemy для роботи з базою даних
- В якості бази даних слід використовувати PostgreSQL.
- Підтримка CRUD операцій для контактів
- Підтримка зберігання дати народження контакту
- Надання документів для API
- Використання модуля перевірки достовірності даних Pydantic
Контакти повинні бути доступні для пошуку за іменем, прізвищем чи адресою електронної пошти (Query).
DockerHUB: https://hub.docker.com/r/lexxai/web_hw11
.env
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=XXXXXXXX
POSTGRES_HOST=pg,localhost
POSTGRES_PORT=5432
POSTGRES_DATABASE=postgres
docker-compose up -d code
(scripts/docker_run_docker-compose.cmd)
openapi.json - offline
openapi.json - online
online FastAPI Docs - online FastAPI