Skip to content

Lem4aks/ScooterRental

 
 

Repository files navigation

Завдання: Розробити систему прокату електросамокатів з використанням мікросервісної архітектури, .NET 8.0, REST, gRPC та Blazor WebAssembly.

  1. Опис загальних вимог до системи

Розроблювана система прокату електросамокатів повинна мати мікросервісну архітектуру та містити наступні складові:

  1. Клієнтський веб-застосунок.
  2. API-шлюз.
  3. Сервіс обліку клієнтів системи.
  4. Сервіс обліку електросамокатів.
  5. Сервіс контролю сесій прокатів.

Система повинна:

  1. Автентифікувати користувачів.
  2. Реєструвати нових користувачів.
  3. Надавати можливість перегляду доступних електросамокатів для прокату.
  4. Надавати можливість починати та закінчувати оренду електросамокатів.
  5. Надавати користувач інформацію щодо поточної сесії прокату.
  6. Обраховувати вартість прокату на основі загального часу прокату та вартості одиниці часу прокату.
  7. Обробляти помилки в роботі будь-якого з компонентів системи.

Обов’язковою вимогою є створення документації до API-шлюзу за допомогою Swagger.

  1. Клієнтський веб-застосунок

Клієнтський веб-застосунок повинен бути розроблений за допомогою інструменту Blazor WebAssembly. Він повинен мати наступні можливості:

  1. Автентифікація користувачів за логіном та паролем.
  2. Реєстрація нового користувача (необхідно ввести логін та пароль).
  3. Перегляд доступних транспортних засобів для прокату.
  4. Початок та завершення прокату електросамокату.
  5. Перегляд часу тривалості поточної сесії прокату електросамокату.
  6. Обрахування загальної вартості прокату при завершення сесії прокату електросамокату.
  7. Інформування клієнта про помилки в обробці його запитів.

Також застосунок повинен бути адаптивним під різні розміри екранів.   3. API-шлюз

API-шлюз повинен представляти собою веб-API, що взаємодіє з клієнтським веб-застосунком за допомогою REST та з мікросервісами за допомогою gRPC. Цей компонент системи повинен оброблювати запити користувачів за допомогою звернень до мікросервісів. Функціонал API-шлюзу повинен відповідати загальним вимогам до системи. API-шлюз повинен обробляти помилки у власній роботі, а також повертати відповідні коди оброблюваних помилок в HTTP або gRPC запитах.

  1. Сервіс обліку клієнтів

Сервіс обліку клієнтів повинен надавати інформацію щодо облікових даних клієнів та взаємодіяти з зовнішніми системами (API-шлюзом) за допомогою gRPC. Дані клієнтів сервіс повинен зберігати у власній БД. Функціонал сервісу повинен відповідати загальним вимогам до системи.

  1. Сервіс обліку електросамокатів

Сервіс обліку електросамокатів повинен надавати інформацію щодо даних електросамокатів та взаємодіяти з зовнішніми системами (API-шлюзом) за допомогою gRPC. Дані електросамокатів сервіс повинен зберігати у власній БД. Функціонал сервісу повинен відповідати загальним вимогам до системи.

  1. Сервіс контролю сесій прокатів

Сервіс контролю сесій прокатів повинен фіксувати дані сесій прокатів, реєструвати нові сесії та змінювати не завершені сесії, надавати інформацію щодо сесій прокатів. Взаємодія сервісу з зовнішніми системами (API-шлюзом) повинна відбуватися за допомогою gRPC. Дані сесій прокатів сервіс повинен зберігати у власній БД. Функціонал сервісу повинен відповідати загальним вимогам до системи.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 69.1%
  • HTML 23.3%
  • CSS 7.6%