A unified, open-source platform to digitize and manage Y-Ultimate’s tournaments and coaching programmes.
This repository provides a Next.js frontend and supporting backend modules to replace ad-hoc Google Sheets and Forms with a connected, data-driven system for tournaments, players, coaches, volunteers and programme administrators.
Enable Y-Ultimate to centralize historical data, streamline workflows, and increase visibility and engagement across tournaments and coaching programmes - improving operational transparency and program impact measurement.
Tournament Management
- Player & team registration with approval workflows
- Match scheduling and live scoreboards
- Roster and attendance management
- Spirit scoring with automatic calculation and leaderboards
- Photo galleries and supporter engagement / real-time updates
Coaching Programme Management
- Centralized child/student profiles with transfer & attendance tracking
- Home visit and LSAS assessment data integration
- Real-time session visibility and coach workload tracking
- Automated reporting: participation, gender ratio, and impact metrics
/BackendSide # Backend services / API (authentication, attendance, scoring, reporting)
/Frontend # Frontend application (UI components, views)
/app # Next.js `app` directory (pages, routes, server components)
components/ # Reusable React components used by frontend
lib/ # Shared helper functions and utilities
locales/ # i18n locale files and translations
public/ # Public static assets (images, icons)
types/ # TypeScript types & interfaces
.env.example # Example environment variables
ENV_SETUP.md # Environment setup notes (see file)
-
Clone the repository:
git clone https://github.com/harryfrzz/t4gc.git cd t4gc -
Install dependencies (pick your package manager):
npm install # or yarn # or pnpm install
-
Copy the example env and edit values:
cp .env.example .env.local # edit .env.local with API keys, DB URLs, auth secrets, etc. -
Start the dev server:
npm run dev # or yarn dev # or pnpm dev
Open
http://localhost:3000.
- The repo contains a
BackendSidefolder for API and server logic. Typical steps:cd BackendSide npm install cp .env.example .env # edit BackendSide/.env with DB connection/other secrets npm run dev
- Confirm backend endpoints (health, auth, attendance, scoring) are reachable and the frontend
.envpoints to the correct backend base URL.
- See
ENV_SETUP.mdfor environment-specific notes, recommended services and local configuration tips. - Use
.env.exampleas a template. Do not commit production secrets to the repository.
- The project uses TypeScript for type safety.
- The frontend is implemented with Next.js - server components live in
app/. - Reusable UI code should go into
components/. - Shared utilities and API clients should be placed in
lib/. - Keep changes small and add unit/integration tests for new logic paths (especially scoring & attendance).
- Add and run tests using the repo’s test runner (look for test scripts in
package.json). - For manual verification:
- Create test players and teams, run through registration & approval.
- Simulate matches and validate live scoreboard & spirit scoring aggregation.
- Create attendance records, transfers, and LSAS assessments and confirm reports.
- Frontend: ideal for Vercel (Next.js). Ensure environment variables match production services and API endpoints.
- Backend: deploy to a node host / service (Heroku/Render/DigitalOcean/AWS) with secure environment variables and a managed database.
- Configure a production DB (Postgres or similar), backups, and monitoring for attendance & scoring critical data.
- Open an issue for major features or bug reports.
- Create a branch per issue (
feature/…orfix/…). - Submit PRs with clear descriptions and small, focused changes.
- Ensure tests pass and add tests where appropriate.
MIT Licence
- Repo owner / maintainer:
harryfrzz(GitHub) - For questions, open an issue or contact the maintainers via the project’s issue tracker.