https://github.com/annatsepilova/goit-pythonweb-hw-08
homework python with web
https://github.com/annatsepilova/goit-pythonweb-hw-08
fastapi postgresql pydantic python sqlalchemy swagger
Last synced: about 2 months ago
JSON representation
homework python with web
- Host: GitHub
- URL: https://github.com/annatsepilova/goit-pythonweb-hw-08
- Owner: AnnaTsepilova
- Created: 2025-02-15T19:16:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-23T13:11:47.000Z (over 1 year ago)
- Last Synced: 2025-03-23T14:22:41.712Z (over 1 year ago)
- Topics: fastapi, postgresql, pydantic, python, sqlalchemy, swagger
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Завдання
Створити `REST API` для зберігання та управління контактами. `API` повинен бути побудований з використанням інфраструктури `FastAPI` та повинен використовувати `SQLAlchemy` для управління базою даних.
**Технічний опис завдання**
**1. Контакти**
Для зберігання контактів вашої системи необхідно організувати базу даних, яка буде містити всю необхідну інформацію.
Ця інформація повинна включати:
- Ім'я
- Прізвище
- Електронна адреса
- Номер телефону
- День народження
- Додаткові дані (необов'язково)
**2. API**
API, яке ви розробляєте, повинно підтримувати базові операції з даними. Нижче наведено список дій, які ваш API повинен мати можливість виконувати::
- Створити новий контакт
- Отримати список всіх контактів
- Отримати один контакт за ідентифікатором
- Оновити контакт, що існує
- Видалити контакт
**3. CRUD API**
На придачу до базового функціоналу `CRUD API` також повинен мати наступні функції:
- Контакти повинні бути доступні для пошуку за іменем, прізвищем чи адресою електронної пошти (`Query` параметри).
- `API` повинен мати змогу отримати список контактів з днями народження на найближчі 7 днів.
**Загальні вимоги до виконання завдання**
- Використання фреймворку `FastAPI` для створення `API`
- Використання `ORM SQLAlchemy` для роботи з базою даних
- В якості бази даних слід використовувати `PostgreSQL`.
- Підтримка `CRUD` операцій для контактів
- Підтримка зберігання дати народження контакту
- Надання `Swagger` документації для `REST API`
- Використання модуля перевірки валідності даних `Pydantic`