Casino Gaming Platform Wiki
Welcome to the Casino Gaming Platform wiki. This comprehensive guide provides documentation on all aspects of our online gaming platform.
🎮 Project Overview
The Casino Gaming Platform is an online gaming system offering various casino-style games with virtual currency support. The platform features a modern tech stack with Angular 20 frontend, Spring Boot 3.5 backend with Java 23, and hybrid authentication system using JWT tokens and OAuth2 integration.
Features
- Multiple casino games: Blackjack, Coinflip, Dice, Slots, and Lootboxes
- User authentication with JWT tokens and OAuth2 (GitHub, Google)
- Virtual currency deposit system using Stripe payments
- Transaction history tracking with complete audit trail
- Audio system with sound effects for immersive gameplay
- Responsive modern UI built with Angular 20 and TailwindCSS v4
- Email verification and password recovery system
🏗️ Technical Architecture
Frontend (Angular 20)
The frontend is built with Angular 20 (latest), providing a responsive and modern user interface for the casino gaming experience. It uses:
- TailwindCSS v4.0.3 for styling and consistent design patterns
- JWT Authentication with OAuth2 social login support
- Stripe.js Integration for virtual currency deposits
- GSAP & CountUp.js for animations and enhanced UX
- FontAwesome for icons and visual elements
Backend (Spring Boot 3.5)
The backend is built on Spring Boot 3.5 with Java 23, providing robust API endpoints for game functionality, user management, and transaction processing. Key components include:
- PostgreSQL 17.5 for data persistence with JPA/Hibernate
- JWT Authentication with custom implementation + OAuth2 providers
- Stripe API for payment processing with webhook support
- SpringDoc OpenAPI for comprehensive API documentation
- Spring Mail with Mailpit for development email testing
Infrastructure
The entire application stack is containerized using Docker, making deployment and scaling straightforward. The infrastructure includes:
- PostgreSQL Database with persistent volumes
- Mailpit Email Server for development email testing
- Gradle Build System with Kotlin DSL and Checkstyle integration
🚀 Getting Started
To get started with development or deployment, follow these guides: