PROJECT MARKS: 20/20
This repository contains the implementation of the Chelas Multi-Player Poker Dice application, developed as part of the Mobile Devices Programming course (Option C) at Instituto Superior de Engenharia de Lisboa (ISEL) for the Winter Semester 2025/2026.
The application is a multi-player Poker Dice game where players use their own devices to join lobbies, configure matches, and compete in rounds based on dice combinations. It integrates with an HTTP API developed in the DAW course for real-time synchronization. The project follows a milestone-based development approach, with tags for each delivery (e.g., chepd_c_1 for Milestone 1).
- [51618] : Francisco Duarte Tavares
- [51619] : Martim Silva Seriz Monteiro
- [51620] : Radesh Ilesh Gamanbhai Govind
Watch the demonstration video showcasing the application's functionality, including starting a match, playing rounds, viewing results, and navigating all screens:
Gravacao.2025-12-16.215702.mp4
The project is divided into milestones:
- Milestone 1 (
chepd_c_1): Title and About screens. - Milestone 2 (
chepd_c_2): Match setup screens (Lobbies, Lobby Creation, Lobby) with fake services. - Milestone 3 (
chepd_c_3): Login screen with fake authentication. - Milestone 4 (
chepd_c_4): Game screen with fake services. - Milestone 5 (
chepd_c_5): Integration with DAW's HTTP API for real-time synchronization. - Milestone 6 (
chepd_c_6): Player Profile screen with statistics. - Final Milestone (
chepd_c_f): Complete app with demo video.
- Kotlin with Jetpack Compose for UI
- Coroutines and Flows for asynchronous operations
- Ktor for HTTP API calls
- MVVM Architecture
- Manual Injection Dependency
- State Hoisting
- Unidirectional Data Flow
- Smart Routing
- Debouncing
This is an academic project.