Files
playtomic-wrapper/tournme/docs/FEATURES.md
2026-01-31 13:49:56 +01:00

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 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.