Craps Web

Interactive craps simulation • Angular • Spring Boot • REST API • Docker Compose


Overview

Craps Web is a full‑stack application that simulates the casino dice game of craps. It is implemented as a Spring Boot backend for game logic and state management, paired with an Angular frontend for interactive play. The project demonstrates frontend‑backend integration, API design, and iterative feature development in a realistic multi‑service setup.

While still a work in progress, Craps Web already models dice rolling, player and table setup, shooter rotation, and game phases. Future work will expand betting logic, payout rules, and persistence for multi‑session play.

Key Features

Backend (Spring Boot)

  • Service‑oriented architecture with controllers, DTOs, and interfaces for clear separation of concerns.
  • Manages game state: phases, dice rolls, shooter assignment, and player actions.
  • Exposes REST endpoints for rolling dice, placing bets, and tracking game progress.

Frontend (Angular)

  • Single‑page application that interacts with backend APIs via HttpClient.
  • Component‑based UI for displaying table state, players, and dice outcomes.
  • Modular structure: player info, gameboard, and betting UI components.

Integration

  • Docker Compose environment runs backend and frontend together.
  • Cross‑origin configuration supports smooth communication between Angular and Spring.
  • Shared DTOs and observables keep frontend state synchronized with backend events.

Game Flow

  • Come‑out and point phases with shooter rotation.
  • Dice roll handling, status updates, and server‑validated actions.
  • Scaffolding for bet placement and resolution (in progress).

Technologies & Design

Current State & Next Steps


Author: Joel J Gerard • projects.jjg.dev