Выполнено в рамках тестового задания
- Создание нового груза
- Указание локаций pick-up и delivery, веса и описания груза.
- Локации определяются по введенному zip-коду.
- Получение списка грузов
- Включает локации pick-up и delivery, количество ближайших машин (<= 450 миль).
- Получение информации о конкретном грузе по ID
- Включает локации pick-up и delivery, вес, описание.
- Список всех машин с расстоянием до выбранного груза (в милях).
- Редактирование машины по ID
- Изменение локации (определяется по введенному zip-коду).
- Редактирование груза по ID
- Изменение веса и описания груза.
- Удаление груза по ID
- Фильтр списка грузов
- Фильтрация по весу и расстоянию до ближайших машин.
- Автоматическое обновление локаций всех машин
- Локации всех машин обновляются на другие случайные каждые 3 минуты.
- Склонируйте репозиторий:
git clone https://github.com/storlay/search_nearest_cars.git
- При необходимости измените содержимое файла
.env-example
POSTGRES_DB=your_postgres_db
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password
- Запустите проект с помощью Docker Compose*:
docker-compose up --build
*При запуске приложение автоматически загружает и заполняет базу данных списком уникальных локаций из файла
app/data/uszips.csv
и создаёт 20 машин со случайными локациями.
- Приложение будет доступно по адресу http://127.0.0.1:8000
-
Документация API доступна по адресам:
- http://127.0.0.1:8000/docs (Swagger)
- http://127.0.0.1:8000/redoc (Redoc)
-
Мониторинг и управление фоновыми задачами доступны по адресу:
- http://127.0.0.1:5555 (Flower)