/restaurant-coursework

The coursework for The Open International University of Human Development "Ukraine"

Primary LanguageJavaMIT LicenseMIT

restaurant-coursework

Hits-of-Code

Цей проєкт є системою управління рестораном, яка складається з бота для Telegram. Вона дозволяє гостям резервувати столики, а адміністраторам – дізнаватись та управляти резерваціями.

Note

Цей проєкт є частиною курсової роботи для Відкритого міжнародного університету розвитку людини "Україна".

Демо

Для більш свідомого ознайомлення, рекомендую переглянути демо-відео функціональності бота:

Гість Працівник (адміністратор)
user admin
Скасування бронювання

При скасуванні бронювання, гостю приходить відповідне повідомлення з вказаними причинами від адміністратора (працівника) ресторану:

Гість Працівник (адміністратор)
user admin

Модулі

  1. domain: Модуль domain містить бізнес-логіку, яка стосується резервації столиків, скінчений автомат для реалізації функціональності бота, тощо.

  2. data: Модуль data призначений для реалізації роботи з данними, які потребує domain.

  3. libs: Відокремлені від основного коду засоби у вигляді бібліотек без зав'язки на конкретну реалізацію.

    • fsm: бібліотека для створення кінцевих автоматів.
  4. bot: Модуль з інтеграцією з Telegram.

Для кожного модулю також є додаткова документація у відповідній директорії.

Використані технології та бібліотеки

  • TelegramBots: Легка бібліотека для взаємодії з API Telegram.
  • Jackson: Бібліотека для роботи з JSON для Java, яка використовується для серіалізації та десеріалізації даних.
  • jOOQ: ORM для роботи з базою даних.
  • Gradle: Інструмент збирання та автоматизації проєкту, що використовується для управління залежностями та збіркою проєкту.
  • Version catalogs: Інструмент декларування залежностей проєкту та їх версій, допомагає визначати уразливі залежності, спрощує процес оновлення залежностей та їх структуру.

Запуск

Для запуску будь-ласка звертайтесь до окремої докуметації щодо запуску.