Skip to content

gle6a6y/Cheqmate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cheqmate - мобильное приложение для удобного разделения счетов в барах, кафе, поездках и т.п.


Cheqmate - позволяет группе участников быстро и справедливо распределить общие траты без необходимости немедленного расчета в заведении.


Возможности

  • Создание групп - создание группы с добавлением участников.
  • Распределение позиций - добавление позиций чека и назначение каждой участнику.
  • Сканирование чеков - сканирование QR-кода фискального чека через камеру с автозаполнением позиций.
  • Фортуна удачи - рулетка для выбора участника, который платит за весь чек.
  • Игра «Ханойская башня» - мини-игра между участниками (терминальный клиент); проигравший платит за весь чек.
  • Оптимизация долгов - сервер пересчитывает долги, чтобы минимизировать количество транзакций.
  • Управление долгами — просмотр, частичная или полная оплата / закрытие долга в группе.
  • Система уведомлений — уведомления о новых чеках, о добавлении в группу и о непогашенных долгах.
  • Система достижений — ачивки за действия в приложении (первый чек, сканирование, рулетка и т.д.).
  • Рейтинг надежности - позволяет понять, кто вовремя платит долги, а кто нет.
  • Личные расходы — учёт личных трат без создания группы.
  • Аналитика расходов — сводка по долгам, личным расходам и сумме, заплаченной за других (за текущий месяц).

Технологии

  • Язык: Java
  • UI-фреймворк: Android SDK
  • Сетевой слой (клиент): Retrofit, OkHttp, Gson
  • Backend-фреймворк: Spring Boot (Spring Web, Spring Security, Spring Data JPA)
  • СУБД: PostgreSQL
  • Очередь сообщений: Apache Kafka (Spring Kafka) - асинхронная доставка уведомлений
  • Push-уведомления: Firebase Cloud Messaging (FCM)
  • Авторизация: JWT
  • Контейнеризация: Docker, Docker Compose
  • Тестирование:
    • Backend: ...
    • Клиент: ...
    • API: Postman
  • Формат данных: JSON, HTTP REST

Установка

  1. Установите зависимости:

    • Java 17, Maven
    • Docker, Docker Compose
    • Android Studio (для клиента)
  2. Склонируйте репозиторий:

    git clone https://github.com/gle6a6y/Cheqmate.git
    cd Cheqmate
  3. Запуск backend (PostgreSQL + Kafka + сервер):

    docker compose up --build
  4. Сборка Android-клиента:

    cd client
    ./gradlew assembleDebug
    ./gradlew installDebug
  5. Терминальная игра «Ханойская башня» (опционально):

    cd terminal-game
    mvn package
    java -jar target/terminal-game-1.0-SNAPSHOT-jar-with-dependencies.jar

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors