3.5 KiB
3.5 KiB
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
collectionfolder with API requests for easier testing and integration. - Monitoring: The
grafanafolder suggests that the application is set up for monitoring with Grafana dashboards. - Database Migrations: Uses
alembicfor handling database schema migrations. - Containerization: Both the frontend and backend applications are containerized using Docker.