Skip to content

storlay/search_nearest_cars

Repository files navigation

API: Сервис поиска ближайших машин для перевозки грузов 🚚

Python FastAPI Postgres Docker Redis Celery Gunicorn Poetry

Выполнено в рамках тестового задания

Основные возможности

  1. Создание нового груза
    • Указание локаций pick-up и delivery, веса и описания груза.
    • Локации определяются по введенному zip-коду.

  1. Получение списка грузов
    • Включает локации pick-up и delivery, количество ближайших машин (<= 450 миль).

  1. Получение информации о конкретном грузе по ID
    • Включает локации pick-up и delivery, вес, описание.
    • Список всех машин с расстоянием до выбранного груза (в милях).

  1. Редактирование машины по ID
    • Изменение локации (определяется по введенному zip-коду).

  1. Редактирование груза по ID
    • Изменение веса и описания груза.

  1. Удаление груза по ID

  1. Фильтр списка грузов
    • Фильтрация по весу и расстоянию до ближайших машин.

  1. Автоматическое обновление локаций всех машин
    • Локации всех машин обновляются на другие случайные каждые 3 минуты.

Установка и запуск

  1. Склонируйте репозиторий:
git clone https://github.com/storlay/search_nearest_cars.git
  1. При необходимости измените содержимое файла .env-example
POSTGRES_DB=your_postgres_db
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password
  1. Запустите проект с помощью Docker Compose*:
docker-compose up --build

*При запуске приложение автоматически загружает и заполняет базу данных списком уникальных локаций из файла app/data/uszips.csv и создаёт 20 машин со случайными локациями.

  1. Приложение будет доступно по адресу http://127.0.0.1:8000

Использование

About

API: Search nearest cars for cargo transportation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published