День 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