Skip to content

Bohdan-Salamakha/MicroServices

Repository files navigation

Завдання:

Створіть систему із мікросервісною архітектурою для обробки замовлень в інтернет-магазині з використанням технології RabbitMQ і Django.

Система має складатися (приблизно) з таких мікросервісів:

  1. Сервіс замовлень - отримує замовлення від клієнтів та розподіляє їх між іншими сервісами.
  2. Сервіс каталогу і складу - містить інформацію про наявні товари та їх описи, відстежує наявність товарів на складі та надсилає повідомлення про зміну стану запасів.
  3. Сервіс користувачів – містить інформацію про клієнтів і історію їх замовлень.

Кожен мікросервіс має виконувати свою функцію, а також взаємодіяти з іншими сервісами за допомогою черги RabbitMQ.

Кожен мікросервіс має мати свою базу даних.

Взаємодія між мікросервісами повинна бути реалізована за допомогою обробки повідомлень з відповідних черг RabbitMQ.

Розподілити наступне API системи між мікросервісами:

  1. Створення нового користувача.

  2. Додавання нового товару на склад до певної категорії.

  3. Отримання існуючих на складі товарів за певною категорію.

  4. Купівля товару зі складу певним користувачем із зміною кількості товару на складі.

  5. Отримання історії замовлень користувача.

Усі сутності мають бути представлені відповідними таблицями і моделями у базі даних.

Додати перевірки у своє API (закінчились товари, немає користувача, тощо).

Ви можете змінювати API і перелік мікросервісів за своїм смаком, якщо вважаєте, що це позитивно вплине на кінцевий продукт.

About

A MicroServices example with RabbitMQ brokker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published