Skip to content

salkynbekov/yumecloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

# YUMECLOUD TEST ASSIGNMENT

## О процессе работы

День 1. Получил тестовое, просомтрел глазами. На первый взгляд всегда думаешь легко. Уже в голове построил таблицы, понял что М2М. Далее не смотрел

День 2. Не смотрел

День 3. Подробнее посмотрел ТЗ. Запутался, ушел в дебри. Что то написал, что то потестил

День 4.

Создал проект настроил докер. Написал модели. Создал фикстуры(ChatGPT в помощь, в принципе в помощь).

ModelViewSet - для стандартных CRUD с минимальным кодом и быстрой маршрутизацией

generics - удобная работа с queryset, гибкая кастомизация

APIView - кастомная логика обработки данных

Пытался сделать статистику на SQL но не мой уровень для запросов "со звездочкой"

По ходу работы было очень много вопросов по бизнес логике(Как долго может длиться аренда?Можно ли продлить аренду для уже существующего заказа?Как обрабатывать возвраты продуктов раньше срока? и тд ). Всегда охото сделать универсально и хорошо. Но сидишь сидишь и понимаешь что нужно начать писать а не думать.

### Технологии

  • Python 3
  • Django
  • Django REST Framework
  • PostgreSQL
  • Docker и Docker Compose

### API


/api/orders/ - просмотр всех заказов

/api/orders/{pk}/ - детали конкретного заказа

/api/orders/{pk}/products/ - детали заказа со всеми продуктами

/api/orders/{pk}/products/{pk} - детали продукта в конкретном заказе

/api/products/ - просмотр всех продуктов

/api/products/{pk}/ - детали конкретного продукта

/api/products-availability/ - для получения списк товаров с свободными периодами данных (статистика)

/api/products-rental-sum/ - для получения списка товаров с суммой по аренде (статистика)

### Запуск

Пропишите следующие команды по порядку в терминал:

git clone https://github.com/salkynbekov/yumecloud.git

cd rental_management/

docker-compose up --build

Далее зайдите в Docker Desktop, перейдите в контейнер django_app и перейдите во вкладку 'Exec' пропишите следующие команды

python manage.py migrate

python manage.py loaddata fixtures/rental_data.json

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published