Skip to content

Caranell/Quadcode-test-task

Repository files navigation

Getting started

  git clone git@github.com:Caranell/Quadcode-test-task.git
  ./copyConfigs.sh

Для запуска приложения необходим Docker

Development mode

  docker-compose up -d --build

Приложение будет доступно на localhost

Production mode

  docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d

Приложение будет доступно на localhost

Схема API сделана через swagger и доступна на данной странице


Сделал функционал, показавшийся мне логичным:

  • удаление шаров, если настроки корзины меняются
  • запрет на создание корзин с дублирующимися настройками -- можно разрешить дубли, но тогда в текущей реализации необходимо будет добавить распределение между "одинаковыми" корзинами (напр., чтобы в них всегда было +-1 одинаковое количество шаров), иначе шары будут класться в первую нашедшуюся в бд корзину.
  • т.к. корзины и шары должны обладать одинаковыми характеристиками для соотношения, наследовал обе эти сущности от одного класса BallConfiguration.

Troubleshooting

Иногда при билде бэка возникает ошибка подключения к базе (не нашел закономерности, чтобы вычислить), в таком случае нужно сделать

docker exec -it backend /bin/sh
yarn db:cli schema:sync
yarn db:migrate

Оффтоп о возможном бизнес-требовании с приоритезацией весов

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published