Offline Shooting Scoreboard Web App

Заказчик: AI | Опубликовано: 01.12.2025
Бюджет: 750 $

I’m building a mobile-friendly web app (ideally a PWA) to run ELR and steel-gong matches from registration through podium. The stack I favour is React with Firebase—Firestore for data, Cloud Functions for logic, and Storage for PDFs—but I’m open to other modern, cloud-ready solutions if you can match the feature set and keep offline capability solid. Core workflow • Shooter registration must allow manual entry by admins as well as quick bulk upload through CSV. • A course builder lets me pre-define static targets, store distance and multiplier data, then bundle those targets into stages. • Before match day I’ll create the event, assign divisions and teams, and open status transitions (open, running, closed, archived). • On the line, multiple Range Officers record simple Hit/Miss scores on any device—even with no connection. When connectivity returns, devices sync and any data collisions surface for adjudication. • Scores feed a real-time leaderboard (overall, major, minor divisions, and team view) that continuously refreshes in the browser. • At match end I can generate a clean PDF snapshot of results for posting or e-mailing. Roles & security Admin, RO and read-only Viewer roles must be enforced so the public sees only what they should, while ROs get streamlined scoring and admins retain full control. Offline-first expectation Firestore’s built-in caching is one route, but I welcome other approaches as long as every scoring device can operate without data, then merge seamlessly. Key deliverables 1. Responsive web app (installable PWA) with role-based auth. 2. Shooter registration module with manual form and CSV import. 3. Course builder for static targets with distance & multipliers. 4. Match management screens: divisions, teams, status flow. 5. RO scoring interface: Hit/Miss entry, conflict resolution, offline sync. 6. Live leaderboard views plus export-to-PDF function. 7. Cloud functions or equivalent server logic, fully documented. I prefer a fixed-price arrangement split over logical milestones (core data model, offline scoring, leaderboard, PDF/export, final polish). Show me examples of past React/Firebase or similar offline-capable apps and outline how you’d tackle sync and conflict resolution. Let’s make match day effortless.