FutsalLeague Manager is a full-stack platform for running futsal (indoor football) leagues. It covers everything from season setup and match scheduling through live score entry, automatic standings calculation, and a fan-facing prediction game. Administrators and referees get a dedicated panel; players and fans get a clean public interface with real-time data.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Danielsl4/TFG_DAM_2526/llms.txt
Use this file to discover all available pages before exploring further.
Quick Start
Get the platform running locally in a few steps — backend API, frontend, and database.
Architecture
Understand how the backend, frontend, database, and cache fit together.
Core Features
Explore match management, standings, statistics, and the voting system.
API Reference
Full REST API documentation with request/response examples for every endpoint.
What you can do with FutsalLeague Manager
Match management
Schedule matches, assign referees and fields, record goals and cards live, and finalize results that automatically update standings.
Group standings
Automatic group-stage classification with full FIFA-style tie-breaking rules and best fourth-place ranking for knockout rounds.
Player & team stats
Per-season leaderboards for top scorers, most yellow/red cards, best offense, best defense, and clean sheets.
Match predictions
Fans predict match outcomes (home/draw/away) before kick-off and earn points. A live leaderboard tracks the top predictors each season.
Admin panel
Full CRUD for teams, players, users, seasons, and groups. Cloudinary-powered image uploads, audit logs, and PDF export for reports.
Referee tools
Referees lock matches for exclusive edit access, record events in real time, and finalize results — all protected by role-based authentication.
Get started in four steps
Set up the database
Create a PostgreSQL database and run
node init_db.js inside the backend/ directory to create all tables, enums, and constraints.Start the backend API
Configure your
.env file with database credentials, JWT secret, Redis URL, and Cloudinary keys, then run npm start inside backend/.Launch the frontend
Inside
frontend/, run ng serve. The Angular app connects to the backend API and is ready to use at http://localhost:4200.The platform uses JWT-based authentication with three roles: admin, referee, and user. The first admin account must be created directly in the database or promoted via the admin panel.