Skip to content

Professional PWA boardgame timer with dual modes, custom timing, dark/light themes, sound effects, and offline support. Install as native mobile app.

Notifications You must be signed in to change notification settings

kuettai/boardgame-timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฒ BoardGame Timer PWA

Professional Progressive Web App for boardgame timing with dual modes, custom settings, and native mobile experience.

PWA Ready Mobile Optimized Offline Support

โœจ Features

๐ŸŽฏ Dual Timer Modes

  • Mode 1: Track total time per player (unlimited)
  • Mode 2: Dual countdown timers (turn + round timing)
  • Custom Templates: Quick/Standard/Long/Custom timing
  • Overtime Detection: Visual and audio alerts

๐Ÿ‘ฅ Player Management

  • 2-8 Players with unique names and colors
  • Dynamic Add/Remove players during setup
  • Color Validation prevents duplicates
  • Touch-Optimized interface for mobile

๐Ÿ“ฑ Progressive Web App

  • Install as Native App on mobile and desktop
  • Works Completely Offline after installation
  • Screen Wake Lock prevents sleep during games
  • Full Screen Mode when launched from home screen

๐ŸŽจ Advanced UI/UX

  • Dark/Light Themes with system preference detection
  • Sound Effects for turn changes and game events
  • Haptic Feedback (vibration) on mobile devices
  • Smooth Animations and micro-interactions
  • Professional Typography with Inter font

๐Ÿ’พ Smart Persistence

  • Auto-Save game state every second
  • Resume Interrupted Games after browser refresh
  • Local Storage for offline data persistence
  • No Data Loss during unexpected interruptions

๐Ÿš€ Quick Start

Option 1: Python Server (Recommended)

# Clone repository
git clone https://github.com/kuettai/boardgame-timer.git
cd boardgame-timer

# Start server
python simple-server.py

# Open browser
open http://localhost:8000

Option 2: Any HTTP Server

# Using Python 3
python -m http.server 8000 --directory frontend

# Using Node.js (if you have it)
npx serve frontend

# Using PHP
php -S localhost:8000 -t frontend

๐Ÿ“ฑ Mobile Installation

  1. Open the app in Safari (iOS) or Chrome (Android)
  2. Tap "Add to Home Screen" or look for install prompt
  3. Launch from home screen for full native experience

๐ŸŽฎ Usage Examples

Quick Games (15-30 second turns)

  • Select Mode 2 โ†’ Quick Template
  • Perfect for speed games like Azul or Splendor

Strategy Games (1-2 minute turns)

  • Select Mode 2 โ†’ Standard Template
  • Great for Wingspan, Scythe, or Terraforming Mars

Tournament Play

  • Select Mode 2 โ†’ Custom Timers
  • Set exact timing requirements
  • Professional tournament-ready precision

Casual Time Tracking

  • Select Mode 1
  • Simple time tracking without pressure
  • Perfect for learning new games

๐Ÿ—๏ธ Project Structure

boardgame-timer/
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ index.html              # Main app structure
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ”œโ”€โ”€ main.css            # Base styles + responsive
โ”‚   โ”‚   โ”œโ”€โ”€ setup.css           # Player setup styles
โ”‚   โ”‚   โ”œโ”€โ”€ animations.css      # Visual effects
โ”‚   โ”‚   โ”œโ”€โ”€ themes.css          # Dark/light themes
โ”‚   โ”‚   โ””โ”€โ”€ polish.css          # Advanced visual polish
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”œโ”€โ”€ app.js              # Main app + PWA controls
โ”‚   โ”‚   โ”œโ”€โ”€ player-setup.js     # Player management
โ”‚   โ”‚   โ”œโ”€โ”€ timer-engine.js     # Core timer logic
โ”‚   โ”‚   โ”œโ”€โ”€ countdown-timer.js  # Mode 2 implementation
โ”‚   โ”‚   โ”œโ”€โ”€ game-timer.js       # UI management
โ”‚   โ”‚   โ”œโ”€โ”€ ui-effects.js       # Visual animations
โ”‚   โ”‚   โ”œโ”€โ”€ storage-manager.js  # Local persistence
โ”‚   โ”‚   โ”œโ”€โ”€ wake-lock.js        # Screen wake lock
โ”‚   โ”‚   โ”œโ”€โ”€ theme-manager.js    # Theme system
โ”‚   โ”‚   โ”œโ”€โ”€ sound-manager.js    # Audio feedback
โ”‚   โ”‚   โ””โ”€โ”€ haptic-manager.js   # Vibration feedback
โ”‚   โ”œโ”€โ”€ assets/                 # App icons
โ”‚   โ”œโ”€โ”€ manifest.json           # PWA manifest
โ”‚   โ””โ”€โ”€ sw.js                   # Service worker
โ”œโ”€โ”€ simple-server.py           # Python development server
โ”œโ”€โ”€ FINAL_CHECKPOINT.md        # Complete development log
โ””โ”€โ”€ README.md                  # This file

๐Ÿ› ๏ธ Technical Details

Performance

  • 200ms Timer Precision for smooth display updates
  • GPU-Accelerated Animations running at 60fps
  • Efficient Service Worker caching for instant loading
  • Optimized Bundle Size with no external dependencies

Compatibility

  • โœ… Chrome/Edge (desktop & mobile)
  • โœ… Firefox (desktop & mobile)
  • โœ… Safari (desktop & mobile)
  • โœ… PWA Support on iOS and Android
  • โœ… Responsive Design (320px to 4K displays)

Accessibility

  • WCAG 2.1 Compliant color contrast
  • Keyboard Navigation support
  • Screen Reader friendly
  • Touch Target minimum 44px for mobile
  • Focus Management for better UX

๐ŸŽฏ Roadmap

Completed โœ…

  • Dual timer modes with custom settings
  • PWA with offline support and installation
  • Dark/light themes with system detection
  • Sound effects and haptic feedback
  • Advanced UI polish and animations
  • Local data persistence and recovery

Future Enhancements ๐Ÿš€

  • Game Statistics & History - Track performance over time
  • Template Library - Presets for popular boardgames
  • Cloud Sync - Multi-device synchronization
  • Template Sharing - Community template exchange

๐Ÿค Contributing

Contributions are welcome! Please read FINAL_CHECKPOINT.md for development context and current status.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly on mobile and desktop
  5. Submit a pull request

๐Ÿ“„ License

MIT License - feel free to use this for your boardgame sessions!

๐ŸŽฒ Perfect For

  • Board Game Cafes - Professional timing solution
  • Tournament Organizers - Reliable and customizable
  • Game Groups - Easy setup and mobile-friendly
  • Solo Gamers - Track your improvement over time
  • Game Designers - Playtest timing analysis

Built with โค๏ธ for the boardgaming community

Transform your boardgame sessions with professional timing that works anywhere, anytime.

About

Professional PWA boardgame timer with dual modes, custom timing, dark/light themes, sound effects, and offline support. Install as native mobile app.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published