{"id":26270768,"url":"https://github.com/fdifrison/catan-dice-counter","last_synced_at":"2026-04-21T20:31:30.308Z","repository":{"id":280177105,"uuid":"941118150","full_name":"fdifrison/catan-dice-counter","owner":"fdifrison","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-05T09:48:38.000Z","size":5003,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T10:09:39.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fdifrison.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-01T14:32:52.000Z","updated_at":"2025-03-05T09:48:41.000Z","dependencies_parsed_at":"2025-03-01T19:44:39.824Z","dependency_job_id":null,"html_url":"https://github.com/fdifrison/catan-dice-counter","commit_stats":null,"previous_names":["fdifrison/catan-dice-counter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fdifrison/catan-dice-counter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdifrison%2Fcatan-dice-counter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdifrison%2Fcatan-dice-counter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdifrison%2Fcatan-dice-counter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdifrison%2Fcatan-dice-counter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fdifrison","download_url":"https://codeload.github.com/fdifrison/catan-dice-counter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdifrison%2Fcatan-dice-counter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32108667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-14T06:17:14.808Z","updated_at":"2026-04-21T20:31:30.264Z","avatar_url":"https://github.com/fdifrison.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Catan Dice Counter\n\nCatan Dice Counter is a full-stack web application designed to enhance the Catan board game experience by tracking dice\nrolls, turns, game durations, and player statistics. Built with Angular 19 for the frontend and Spring Boot 3.4.3 with\nJava 23 for the backend, it uses SQLite for lightweight data persistence and provides a polished, thematic user\ninterface.\n\n\u003cdiv style=\"display: flex; justify-content: center; gap: 10px;\"\u003e\n  \u003cimg src=\"./imgs/main.png\" alt=\"Game Setup\" width=\"225\"\u003e\n  \u003cimg src=\"./imgs/gameplay.png\" alt=\"Gameplay\" width=\"225\"\u003e\n  \u003cimg src=\"./imgs/stats.png\" alt=\"Player Statistics\" width=\"225\"\u003e\n\u003c/div\u003e\n\n## Features\n\n- **Game Setup**: Create games with 2-5 players, assign unique colors, and set player order with drag-and-drop\n  functionality.\n- **Gameplay Tracking**: Record dice rolls and turn durations in real-time, with a stacked bar chart visualizing roll\n  distributions.\n- **End Game**: Assign ranks and points to players, with a victory modal featuring confetti effects.\n- **History**: View past games, delete them, and access detailed game statistics with charts (roll distribution, roll\n  sequence, time management).\n- **Player Statistics**: Analyze individual player performance across all games, including total points, average points,\n  lucky number, roll distribution, and turn time analysis.\n- **Error Handling**: User-friendly modals for errors, such as attempting to end a turn without selecting a dice number.\n- **Thematic Design**: Consistent use of the `Cinzel` font, gold (`#d4af37`) accents, and a red gradient theme inspired\n  by Catan.\n\n## Tech Stack\n\n### Frontend\n\n- **Framework**: Angular 19\n- **Libraries**: Chart.js (visualizations), Angular CDK (drag-drop), Canvas Confetti (effects)\n- **Styling**: Custom CSS with a Catan-inspired theme\n- **Build Tool**: Angular CLI\n\n### Backend\n\n- **Framework**: Spring Boot 3.4.3 with Java 23\n- **Database**: SQLite with HikariCP connection pooling\n- **ORM**: JPA/Hibernate with SQLite dialect\n- **Schema Management**: Liquibase\n- **DTO Mapping**: MapStruct\n- **Logging**: SLF4J\n\n### Deployment\n\n- **Containerization**: Docker with a multi-stage build\n- **Hosting**: Deployed on Railway (or adaptable to other platforms)\n\n## Prerequisites\n\n- **Node.js**: v20.11.0 or later\n- **npm**: v10.2.4 or later\n- **Java**: JDK 23\n- **Maven**: 3.9.6 (included in Docker build)\n- **Docker**: Optional, for containerized deployment\n\n## Setup Instructions\n\n### Local Development\n\n1. **Clone the Repository**:\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd catan-dice-counter\n   ```\n2. **Fronted Setup**\n    ```bash\n    cd frontend\n    npm install\n    ng serve   \n    ```\n\n## Docker deployment\n```bash\ndocker build -t catan-dice-counter .\ndocker run -p 8080:8080 -v $(pwd)/data:/app/data catan-dice-counter\n```\n## Environmental variables\n* **PORT**: Override default port (8080).\n* **DATASOURCE_URL**: Custom SQLite path (e.g., jdbc:sqlite:/custom/path/database.db).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdifrison%2Fcatan-dice-counter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffdifrison%2Fcatan-dice-counter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdifrison%2Fcatan-dice-counter/lists"}