Resource Manager API - это веб-приложение, которое предоставляет API для управления данными о ресурсах и типах ресурсов. Приложение использует PostgreSQL и psycopg2 в качестве базы данных и разработано на Python без использования фреймворков и сторонних библиотек.
-
Убедитесь, что PostgreSQL установлен на вашем компьютере. Если он не установлен, вы можете скачать и установить его с официального сайта PostgreSQL: https://www.postgresql.org/download/
-
После установки PostgreSQL, создайте базу данных. Например, используя командную строку или интерфейс администратора PostgreSQL:
createdb <название БД>
- В корневой директории создайте файд config.ini. Файл config.ini содержит параметры подключения к базе данных. А также путь до файлов миграций. Пример содержимого файла:
[database]
DB_NAME = resource_manager_api
DB_USER = postgres
DB_PASS = postgres
DB_HOST = localhost
DB_PORT = 5432
[migrations]
MIGRATION_PATH = /Users/user/Dev/resource_manager/app/migrations
- Затем установите зависимости Python, указанные в файле requirements.txt
pip install -r requirements.txt
- Запустите скрипт для применения миграций:
python migrations.py
- Теперь вы можете запустить ваше приложение:
python main.py
Приложение должно быть доступно по адресу http://localhost:8000/
- GET /resource/{id}: Получить информацию о ресурсе по ID.
- POST /resource: Создать новый ресурс. Принимает json следущего формата:
{
"type_id": 1,
"name": 104,
"current_speed": 35
}
- PUT /resource/{id}: Обновить информацию о ресурсе по ID.Принимает json следущего формата:
{
"type_id": 1,
"name": 105,
"current_speed": 37
}
- DELETE /resource/{id}: Удалить ресурс по ID.
- GET /type/{id}: Получить информацию о типе ресурса по ID.
- POST /type: Создать новый тип ресурса. Принимает json следущего формата:
{
"name": "Авто",
"max_speed": 200
}
- PUT /type/{id}: Обновить информацию о типе ресурса по ID.Принимает json следущего формата:
{
"name": "Мото",
"max_speed": 377
}
- DELETE /type/{id}: Удалить тип ресурса по ID.
- GET /resource/filter_by_type/{type_id}: Получить список ресурсов, отфильтрованных по типу.
Вы можете создать SQL-скрипты с фикстурами для вашей базы данных. Примеры SQL-скриптов для таблиц resource_type и resource представлены в разделе проекте. Можно использовать и их для наполнения БД.
-
Убедитесь, что Docker установлен на вашем компьютере.
-
Создайте файл
config.iniс параметрами подключения к базе данных (см. раздел "config.ini" выше). -
Создайте SQL-скрипты с фикстурами для вашей базы данных (см. раздел "SQL-скрипты с фикстурами" выше).
-
Выполните следующие команды в командной строке:
docker-compose up --buildВаше приложение будет доступно по адресу http://localhost:8000