No description
  • Vue 52.9%
  • TypeScript 30.1%
  • CSS 16%
  • HTML 0.4%
  • JavaScript 0.3%
  • Other 0.3%
Find a file
zwanto 655943ee3e
All checks were successful
/ build (push) Successful in 1m44s
feat: refactor undo logic for cricket and X01 with per-throw granularity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:29:06 +01:00
.claude Enhance Player Name Input and Revamp Styles 2026-03-22 11:39:00 +01:00
.forgejo/workflows Add GitHub Actions workflow and Docker setup for CI/CD 2026-03-22 11:53:26 +01:00
e2e feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
public feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
src feat: refactor undo logic for cricket and X01 with per-throw granularity 2026-03-22 17:29:06 +01:00
.env.example init 2026-01-11 16:51:19 +01:00
.gitignore init 2026-01-11 16:51:19 +01:00
CLAUDE.md init 2026-01-11 16:51:19 +01:00
docker-entrypoint.sh Add GitHub Actions workflow and Docker setup for CI/CD 2026-03-22 11:53:26 +01:00
Dockerfile feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
index.html feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
nginx.conf Add initial Nginx configuration file 2026-03-22 12:21:57 +01:00
package-lock.json chore: update vite version from 8.0.1 to 6.0.0 in package.json 2026-03-22 14:29:47 +01:00
package.json chore: update vite version from 8.0.1 to 6.0.0 in package.json 2026-03-22 14:29:47 +01:00
playwright.config.js feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
README.md init 2026-01-11 16:51:19 +01:00
tsconfig.json feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
tsconfig.node.json feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00
vite.config.ts feat: add cricket game variant and scoring logic 2026-03-22 14:09:17 +01:00

Dart Scoring App

A Vue 3 + TypeScript application for scoring dart games (301/501) with support for up to 8 players.

Features

  • Game Types: 301 and 501
  • Multi-Player: Support for 1-8 players
  • Game Rules: Full implementation of standard dart rules
    • Bust detection (below 0, exactly 1)
    • Checkout validation (must finish on double)
    • Turn-based scoring (3 throws per turn)
  • Modern Stack: Vue 3 Composition API, TypeScript, Vuetify

Project Structure

dart/
├── frontend/          # Vue 3 frontend application
├── backend/           # Future backend services
├── shared/            # Shared types and utilities
└── k8s/               # Kubernetes deployment configs

Getting Started

Prerequisites

  • Node.js 18+
  • npm 9+

Installation

# Install dependencies
npm install

# Start development server
npm run dev

Development

# Run frontend dev server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Tech Stack

  • Framework: Vue 3 with Composition API
  • Language: TypeScript
  • UI Library: Vuetify 3
  • Build Tool: Vite
  • Router: Vue Router 4

Game Rules

Scoring

  • Players start with 301 or 501 points
  • Each turn consists of 3 throws
  • Score decrements with each throw
  • Goal: Reach exactly 0 points

Winning

  • Must finish on a double (D1-D20 or Bull)
  • Reaching exactly 0 with a valid double wins the game

Bust Conditions

  • Going below 0 points
  • Landing on exactly 1 point
  • Finishing on a non-double
  • When bust occurs, score remains unchanged and turn passes

License

Private project - All rights reserved