This commit is contained in:
2026-01-31 13:49:56 +01:00
parent 7074c85672
commit ecfa2d3985
203 changed files with 11592 additions and 0 deletions

65
tournme/docs/FEATURES.md Normal file
View File

@@ -0,0 +1,65 @@
# Project Features
This document outlines the main features of the Tourn.me application, a comprehensive platform for managing padel tournaments. The project is divided into a frontend application (`app.tourn.me`) and a backend service (`padeltour`).
## Backend Features (padeltour)
The backend is built with Python and FastAPI, providing a robust API for the frontend.
### Core APIs
- **Authentication**: Handles user login, token refresh, and other authentication-related tasks.
- **Companies**: Manages company information, including admin creation and password changes.
- **Courts**: Provides endpoints for creating, retrieving, updating, and deleting court information.
- **Dashboard**: Offers endpoints to fetch data for the main dashboard, including statistics and overviews.
- **Password Reset**: Manages the password reset process, including token validation and password updates.
- **Players**: Handles player management, including creation, deletion, and association with tournaments.
- **Registration**: Manages the company registration process, including email verification.
- **Tournaments**: Provides comprehensive management of tournaments, from creation to player and court assignments.
- **Tournament Staging**: Manages the different stages of a tournament, including:
- **Brackets**: Handles the creation and management of tournament brackets.
- **Groups**: Manages player groups within a tournament.
- **Matches**: Provides endpoints for match management and scheduling.
- **Scheduling**: Automates the scheduling of matches.
- **Stages**: Manages the different stages of a tournament (e.g., group stage, knockout stage).
- **Stats**: Provides statistics for tournaments.
## Frontend Features (app.tourn.me)
The frontend is a Next.js application that provides a user-friendly interface for managing tournaments.
### Main Sections
- **Dashboard**: The main landing page after login, providing an overview of key metrics.
- **Overview**: Displays statistics related to sales, user activity, and more.
- **Courts**: Allows for the management of padel courts.
- **Players**: A section for managing players, including creation and viewing.
- **Products**: Manages products or services offered.
- **Profile**: Allows users to manage their company profile and settings.
- **Tournament**: The core section for managing tournaments.
### Tournament Management
- **Tournament Creation**: A step-by-step process to create new tournaments.
- **Tournament Overview**: A view of all ongoing and past tournaments.
- **Tournament Details**: A detailed view of a specific tournament, including:
- Player management
- Court assignments
- Match scheduling
- Bracket visualization
### User Authentication
- **Sign In/Register**: Standard user authentication pages.
- **Forgot/Reset Password**: A complete flow for password recovery.
### Other Features
- **Email Service**: Integrated email notifications for events like registration and password recovery.
- **Internationalization (i18n)**: The application supports multiple languages.
- **Real-time Updates**: The application is set up for real-time data fetching and updates.
- **API Documentation**: The project includes a `collection` folder with API requests for easier testing and integration.
- **Monitoring**: The `grafana` folder suggests that the application is set up for monitoring with Grafana dashboards.
- **Database Migrations**: Uses `alembic` for handling database schema migrations.
- **Containerization**: Both the frontend and backend applications are containerized using Docker.