Skip to content

sefault-dev/DeepDame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,013 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepDame

Flutter spring-boot postgresql redis docker Ollama

A real-time multiplayer checkers application with a Flutter client and a Spring Boot backend.

About

DeepDame is a real-time multiplayer checkers application built as a final-year project at FST Settat. It features a Flutter mobile client backed by a Spring Boot service, with WebSocket-based real-time gameplay, an AI opponent with three difficulty levels, matchmaking and open lobbies, in-game chat, and a friends/social layer.

Screenshots

Home Game Chat
Home Game Chat
Friends Game Over Settings
Friends Game Over Settings

Architecture

The frontend is a Flutter app using Riverpod (with @riverpod codegen) for state management, Freezed for models, and Dio for HTTP. Real-time gameplay, chat, and notifications are delivered over STOMP via SockJS, with subscriptions that automatically re-register on reconnect.

The backend is a Spring Boot service with a polyglot persistence strategy: PostgreSQL for structured data (users, relationships, auth), MongoDB for game history and match logs, and Redis for caching, session state, and cross-instance pub/sub — keeping the application stateless and horizontally scalable. The whole stack is containerized with Docker and deployable to Kubernetes.

Architecture diagram

Performance

The backend was load-tested with k6: roughly 3,000 concurrent WebSocket sessions sustained locally (28GB RAM / 4 cores), and 5,000 concurrent users tested on EKS, with the system designed to scale further via Redis-backed horizontal scaling.

Project Structure

DeepDame/
├── client/          # Flutter mobile app
│   └── deepdame/
├── server/          # Spring Boot backend
├── docs/            # Screenshots, architecture docs
└── imgs/            # Diagrams

Documentation

Acknowledgments

This project was developed as a PFM (Projet de Fin de Module) at FST Settat, Université Hassan 1er.

About

A production-ready multiplayer Checkers platform featuring real-time matchmaking, live chat, and an adversarial AI opponent.

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Contributors