https://github.com/skrodahl/NewTon
Darts Tournament Manager
https://github.com/skrodahl/NewTon
bracket bracket-management darts darts-match darts-scoring docker javascript no-database offline-first privacy-by-design self-hosted standalone tournament-manager web-app zero-dependencies
Last synced: about 2 months ago
JSON representation
Darts Tournament Manager
- Host: GitHub
- URL: https://github.com/skrodahl/NewTon
- Owner: skrodahl
- License: bsd-3-clause
- Created: 2025-08-21T22:06:15.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-04-17T20:34:38.000Z (3 months ago)
- Last Synced: 2026-04-17T22:32:51.270Z (3 months ago)
- Topics: bracket, bracket-management, darts, darts-match, darts-scoring, docker, javascript, no-database, offline-first, privacy-by-design, self-hosted, standalone, tournament-manager, web-app, zero-dependencies
- Language: JavaScript
- Homepage: https://newtondarts.com
- Size: 101 MB
- Stars: 27
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# NewTon DC Tournament Manager
[](https://github.com/skrodahl/NewTon/releases/latest)
[](https://github.com/skrodahl/NewTon/blob/main/LICENSE)
[](https://hub.docker.com/r/skrodahl/newton)
[](https://github.com/skrodahl/NewTon/pkgs/container/newton)
[](https://hub.docker.com/r/skrodahl/newton)
[](https://github.com/skrodahl/NewTon/stargazers)
## The Offline Authority in Darts.
Runs locally. Syncs across devices. Builds your venue's stats over time.

### Yours. Not theirs.
No signup, no subscription, no cloud. Works offline. Just download and run. Works without asking permission.
### Scan. Score. Done.
The Chalker handles the board. QR codes handle the rest. One scan to start, one scan to finish.
### Every match remembered.
Analytics that grow with your club. Season leaderboards, player stats, and tournament history — all from data you already have.
---
**[Changelog](https://github.com/skrodahl/NewTon/blob/main/CHANGELOG.md)** | **[Release Notes](https://newtondarts.com/releases/)** | **[Official Website](https://newtondarts.com)**
**NewTon DC Tournament Manager** provides a clean, professional interface with offline-first design for reliable single and double-elimination darts tournaments. It runs entirely in your browser — no server, database, Internet connection, or installation required.
**NewTon Chalker** is a companion x01 scoring app designed for tablets at the dartboard. Crash-proof with persistent match data, match history, and live statistics. Install as a PWA for a native app experience.
**Total Privacy**: Your tournament and match data live in your browser's localStorage, period. We have a demo site, but even there your data never leaves your device. [Complete privacy by architecture](https://newtondarts.com/privacy.html), not by policy.
**[Download for offline use](https://github.com/skrodahl/NewTon/releases/latest)**, double-click `tournament.html` to get going. Or **[self-host with Docker](https://newtondarts.com/docker-quickstart.html)**.
---
# See It in Action
## Official Website and Apps
Visit the official NewTon DC Tournament Manager Website.
Fully functional versions of the latest Tournament Manager and Chalker apps are available for use and testing.
[**https://newtondarts.com**](https://newtondarts.com)
*All data stays in your browser - nothing is stored on the server or shared with anyone else.*
## Tournament Bracket and Match Controls
**16-player Tournament Bracket with Status Bar**:

**Match Controls with Referee Suggestions and Match/Referee Conflict Detection**:

---
## Getting Started
1. **[Download the latest official release](https://github.com/skrodahl/NewTon/releases/latest)** (Run `git clone` or download ZIP for the latest beta)
2. Double-click `tournament.html` to open NewTon DC Tournament Manager, and you're up and running
3. Visit our [User Guide](https://newtondarts.com/userguide.html) to learn how to run and manage tournaments, or press `F1` for help
All [NewTon DC Tournament Manager](https://newtondarts.com)'s features are described in detail in the [User Guide](https://newtondarts.com/userguide.html).
*No installation, no servers, no complexity — just pure tournament management.*
---
## Docker Deployment (Self-Hosting)
**Want to host NewTon Tournament Manager on your own server?** Docker makes it effortless.
### [**Docker Quick Start Guide →**](https://newtondarts.com/docker-quickstart.html)
**Get running in under 2 minutes:**
```bash
# Download docker-compose.yml
curl -O https://raw.githubusercontent.com/skrodahl/NewTon/main/docker/docker-compose.yml
# Start the container
docker compose up -d
# Access at http://localhost:8080
```
**What's Included:**
- ✅ Lightweight Alpine container (~60MB)
- ✅ PHP [REST API](https://newtondarts.com/rest-api.html) for tournament sharing
- ✅ nginx + PHP-FPM for optimal performance
- ✅ Multi-architecture support (Intel/AMD + Apple Silicon/Raspberry Pi)
- ✅ Persistent storage for tournaments
- ✅ Custom logo and payment QR code support
- ✅ Optional SEO landing page (`NEWTON_LANDING_PAGE=true`)
**Documentation:**
- **[Quick Start Guide](https://newtondarts.com/docker-quickstart.html)** - Get running in 2 minutes
---
## Key Features
See the NewTon DC Tournament Manager [User Guide](https://newtondarts.com/userguide.html) to learn how to use these features to manage your own tournaments.
More on the [architecture and focus on resilience here](https://newtondarts.com/architecture.html).
### Tournament Management
- **Multiple Tournaments**: Create, save, and load with automatic browser storage
- **Import/Export**: JSON-based backup and sharing between computers
- **Tournament Protection**: Completed tournaments loaded from file are read-only to protect data integrity
- **Tournament History**: Complete match records with lane and referee assignments
- **Crash Resilient**: Automatic saving prevents data loss
- **Optional Server Features**: Sharing completed tournaments if hosted on a webserver with PHP, using [REST API](https://newtondarts.com/rest-api.html)
### Single and Double Elimination Brackets
- **Professional Structure**: Single and Double elimination brackets for 8, 16, and 32 players, facilitates tournaments for 4-32 players.
- **Smart Generation**: Prevents two walkovers from meeting in first round
- **Fair Draw**: Byes randomly distributed to prevent unfair advantages and minimize walkover chains
- **Interactive Visualization**: Zoom, pan, click-to-select winners with complete progression lines and placement indicators
- **Match Card Magic Zoom:** Auto-zoom on individual matches when zoomed out too far to read and control the matches
- **Automatic Advancement**: Walkovers advance real players intelligently
- **Undo**: Reverse recent match results (staged undo prevents accidentally clearing large portions of the bracket)
- **Contextual Status**: Hover over tournament matches to show status, tournament progression, and undo
#### Match Color Coding
Intuitive traffic light system for instant priority assessment:
- 🔴 Orange/Red = "**DO THIS NOW**" (LIVE matches, current focus)
- 🟡 Yellow = "**READY FOR ACTION**" (can be started, next up)
- 🟢 Green = "**COMPLETED**" (done and archived)
- ⚪ White/Gray = "**NOT READY YET**" (pending, no action possible)
### Match Management
- **Centralized Control**: Manage entire tournament from Match Controls interface
- **Clear Progression**: Each match shows exactly where winners and losers advance ("Leads to...")
- **Lane Assignment**: Assign matches to dartboard lanes (1-20 with exclusions, configurable)
- **Referee System**: Referee suggestions, and select referees with conflict prevention
- **Real-time Updates**: Live standings and bracket progression
### Player & Statistics
- **Player List Registry**: Maintain a persistent list of regular players for consistency across tournaments
- Alphabetically sorted for easy scanning
- Quick-add players to new tournaments
- Import/export with tournament data
- **Registration**: Add players and track payment status
- **Late Registration**: New players can be added to a tournament if there are any walkover spots available
- **Comprehensive Stats**: Short legs, high outs, tons, 180s with configurable points
- **Live Rankings**: Real-time 1st through 32nd place calculation
- **Export Results**: CSV and JSON export with full tournament history
### Configuration
- **Custom Branding**: Add club logo, favicon, and customize title
- **Flexible Scoring**: Configurable points for participation, placements, and achievements
- **Match Formats**: Best-of legs for rounds, semifinals, and finals
- **UI Preferences**: Confirmation dialogs and interface behavior
[Official User Guide](https://newtondarts.com/userguide.html)
---
## Technical Details
**Architecture:**
- Pure HTML5, CSS3, and JavaScript (ES6+) — zero dependencies
- Browser LocalStorage for offline persistence
- Hardcoded progression tables for bulletproof match advancement
- Transaction-based history system with complete undo functionality
**Browser Compatibility:**
- Chrome 80+, Firefox 75+, Safari 13+, Edge 80+
- Requires JavaScript and LocalStorage support
The architecture and resilence of NewTon DC Tournament Manager is documented on our [official web site](https://newtondarts.com/architecture.html).
---
## Data Management
- **Automatic Saving**: All changes saved immediately to browser storage
- **Import/Export**: JSON files for backup and computer-to-computer transfers
- **Privacy**: [Complete local storage](https://newtondarts.com/privacy.html), no cloud or external data sharing
- **Undo System**: Reverse recent match results with transaction history
- **Developer Console**: Manage late registrations, debug, view tournament health, transaction log management
---
## Use Cases
- **Tournament Organizers**: Professional dart tournament management
- **Dart Clubs**: Regular tournament nights and member ranking systems
- **Event Management**: Pub tournaments, corporate events, charity fundraisers
---
## Credits
**Created by Håvard Skrödahl**
NewTon DC Malmö
**License**: Open source (BSD 3-Clause License) project for dart tournament management