Skip to content

Busygind/yandex-lavka-api-prototype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Продуктовая задача в рамках отбора в Летнюю ШБР от "Яндекс".

Стек технологий:

  • Spring boot 3.0.4
  • PostgreSQL 15.2
  • Gradle 7.6.1
  • Docker

Исходный текст задания можно посмотреть здесь

Спецификацию к API можно посмотреть здесь


Общие сведения для проверяющих:

  • Выполнены 1, 2 и 3 задания из четырех описанных.
  • Из сторонних библиотек были использованы:
    • spring-boot-starter-validation для валидации запросов
    • org.projectlombok:lombok:1.18.26 для уменьшения количества вспомогательного кода
    • bucket4j_jdk8-core для реализации Rate limiter'a
  • Тесты не были специфицированы в задании, поэтому решил не включать их в окончательную версию
  • Тело ответа на BadRequest'ы пустое, т.к. так указано в спецификации. Реализовал возможность расширения этого пункта
  • По заданию рейтинг курьера имеет тип Integer, поэтому он округляется по математическим правилам до целого числа.
  • Поскольку rate limiter необходимо было сделать на каждую ручку свой, то на каждую ручку было создано "ведро" с токенами - костыль, но работает
  • В задании сказано, что доступ к БД по паролю "password", но в шаблоне был пароль "postgres". Поставил везде "password"

About

Rate limited RESTful API for Ya Backend-school

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published