screen
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v7View latest version
A comprehensive real-time pickleball scoring system for managing games across multiple courts and sites.
- Multi-Site Management: Support for 2 sites with 10 courts each
- Real-Time Scoring: Live score updates with proper pickleball rules
- Game Management: Create, start, and manage pickleball games
- Point Logging: Detailed point-by-point history with popup view
- Audience View: Public real-time score display for spectators
- Responsive UI: Modern design that works on all devices
- Games to 11 points (win by 2)
- Tournament games to 15 or 21 points
- Proper serving rotation and side switching
- Score calling format: "Server Score - Receiver Score - Server Number"
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ ├── routes/
│ │ ├── games.ts # Game management API
│ │ ├── scoring.ts # Scoring operations API
│ │ └── static.ts # Static file serving
│ └── index.ts # Main server entry point
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application
│ │ ├── GameBoard.tsx # Court overview
│ │ ├── ScoreKeeper.tsx # Scoring interface
│ │ ├── AudienceView.tsx # Public score display
│ │ └── PointLog.tsx # Point history popup
│ ├── index.html # Main HTML template
│ ├── index.tsx # Frontend entry point
│ └── style.css # Custom styles
└── shared/
└── types.ts # Shared TypeScript types
- Admin Interface: Create and manage games across courts
- Scorer Interface: Real-time scoring with point logging
- Audience View: Public display for spectators
- Point History: Detailed game logs with popup view
GET /api/games- List all active gamesPOST /api/games- Create new gamePUT /api/games/:id/score- Update game scoreGET /api/games/:id/points- Get point historyGET /audience/:courtId- Public audience view
- WebSocket connections for live score updates
- Automatic score synchronization across all viewers
- Real-time point logging and history