Publiée le 09 sept. 2026 · Nous avons confirmé le 09 sept. 2026 qu'elle est toujours active
Cette entreprise est la vôtre ?€ 250 – € 750 par projet
# Senior Full-Stack Developer - Real-Time Squash Scoring & Tournament System ## Project Overview We are a squash club in Denmark with 7 courts and regular tournaments/events. We currently have an online scoring system where referees enter scores live during matches. The basic functionality works well, but the system is unreliable, frequently goes down, and we are heavily dependent on the original developer, who is difficult to reach. We want to build a new, modern, stable and scalable system from scratch, keeping the useful functionality of the current system while significantly improving reliability, administration, tournament management and live presentation. This is not a simple website project. We are looking for an experienced senior full-stack developer with experience in real-time web applications, databases, server infrastructure and live data. ## Core Concept The system should have one central backend/database, with several different web interfaces all receiving the same live data. The basic principle is: Referee enters score once - entire system updates automatically. The live data should be available to: Referees, Tournament Desk, TV Screens, Spectators, OBS and YouTube. ## 1. Court / Referee Interface We have 7 squash courts. Each court should have its own interface, for example: /court/1 /court/2 /court/3 ... /court/7 The referee should be able to: * Select players * See player names, clubs and flags * Enter points live * See current game and match score * Start and end games * Finish matches * See clear match status The interface must be extremely simple and fast to use on tablets and touchscreens. The scoring system must follow international squash rules. It should support configurable formats such as: * Best of 3 * Best of 5 * 90-second game breaks * 120-second game breaks * Other configurable timing and rules where appropriate These settings should be configurable rather than hardcoded. ## 2. Tournament Control Dashboard A separate interface for the tournament desk. It should provide a live overview of all 7 courts. The tournament desk should be able to see: * Matches currently playing * Live scores * Current game * Match duration * Game breaks * Completed matches * Available courts * Upcoming and next matches * Match status The goal is to make tournament scheduling and court turnover much easier. ## 3. Public / TV Display A separate public-facing website for TV screens around the club. It should display live information such as: * Current matches * Court numbers * Player names * Flags * Scores * Games * Match status * Upcoming matches It must update automatically without manual refresh. Possible layouts should include: * All 7 courts on one screen * Focus on one court * Current matches and upcoming matches The display should be optimized for large TVs. ## 4. OBS / YouTube Streaming Overlays This is an important part of the project. We stream selected squash matches through OBS to YouTube. We need dedicated web-based graphics that can be added to OBS as Browser Sources. For example, a live score overlay showing: Player A - 8 Player B - 6 Game 3 The overlay must automatically update whenever the referee changes the score. We would like several layouts, such as: * Live score * Full match information * Player information * Starting soon * Match finished * Lower third * Tournament information The graphics should support transparent backgrounds so they can be placed over the live video. OBS should simply load a URL/browser source and receive the live information automatically. ## 5. Admin System We need a secure admin area where the club can manage the system without depending on the developer. Admin should be able to: * Manage users * Manage courts * Manage players * Manage tournaments * Manage matches * Configure scoring and timing settings * Correct matches and scores * View system status * View errors and logs * Restart or redeploy relevant application services We also want the system designed with: * Health checks * Automatic restart after crashes * Error logging * Monitoring * Database backups * Recovery procedures The goal is that the system can run an entire tournament day without developer intervention. ## 6. Reliability and Connection Handling Reliability is one of the main reasons we are replacing the current system. The new system must be designed as a production system, not a prototype. It should handle: * 7 simultaneous courts * Multiple connected spectators * TV displays * Multiple OBS connections * Browser refreshes * Server restarts * Temporary network and internet problems If a referee temporarily loses connection, the system should clearly indicate this and prevent score data from silently disappearing. Please explain your proposed solution for handling temporary connection loss. ## 7. Real-Time Architecture Real-time communication is essential. When a referee changes a score, relevant clients should receive the update immediately. For example: Referee -> Backend -> Tournament Dashboard, TV Display and OBS We expect a suitable real-time architecture such as WebSockets, Socket.IO, Server-Sent Events or similar. Please explain what you would recommend and why. ## 8. Database and Match History All matches and scores must be stored permanently. We want to retain information such as: * Tournament * Match ID * Court * Players * Start and end time * Points * Games * Final result * Match status * Relevant timestamps Historical matches should be searchable through the admin system. ## 9. Ownership and Handover This is extremely important. The club must have full ownership and access to the entire system. We require access to: * Full source code * Git repository * Hosting and server * Database * Domain and DNS * Deployment * Backups * Configuration * Documentation The system must not depend on the developer's private server or account. We must be able to change developer in the future if necessary. A complete technical handover is required. ## 10. Design We want a mo
Créez un compte gratuit pour voir l'offre complète et postuler.