Les Titans de Sète

Aug 11, 2024

Presentation

The application allows managing the sports activities of a rugby sevens club, including adding matches, registering participants, managing results and the teams. It is hosted on r402-front.vercel.app and this application is built in 3 parts the Frontend, the Application and the Authification in 3 different repositories.

Project Structure

r401-Auth

The r401-Auth repository is responsible for authentication and user management. It includes:

  • api/: Contains API endpoints for authentication.
  • connection/: Manages database connections.
  • model/: Defines the data models.
  • schema.sql: Contains the database schema.
  • swagger-ui.html: Provides API documentation. Features the documentation here.

r401-App

The r401-App repository handles the core application logic. It includes:

  • api/: Contains API endpoints for application functionalities.
  • connection/: Manages database connections.
  • model/: Defines the data models.
  • schema.sql: Contains the database schema.
  • swagger-ui.html: Provides API documentation. Features the documentation here.

r401-Front

The r401-Front repository is the frontend of the application, built with Svelte. It includes:

  • src/: Contains the source code for the frontend.
  • static/: Stores static assets like images.
  • svelte.config.js: Configuration for the Svelte framework.
  • vite.config.js: Configuration for the Vite build tool.

Key Features

Authentication

The application uses JWT (JSON Web Tokens) for secure authentication. Users can register, log in and log out.

Match Management

Users can add, edit, and delete matches. Each match can have multiple participants and results.

Team Management

Users can create and manage teams, assign players to teams, and view team statistics.

User Interface

The frontend is built with Svelte, providing a responsive and interactive user interface. It allows users to navigate through matches, teams, and results easily.

API Endpoints

The application provides RESTful API endpoints for all functionalities, allowing for easy integration with other systems or applications.

API Endpoints

Authentication Endpoints

  • POST /api/auth/register: Register a new user.
  • POST /api/auth/login: Log in a user and return a JWT token.
  • POST /api/auth/logout: Log out a user.

Match Management Endpoints

  • GET /api/matches: Retrieve all matches.
  • POST /api/matches: Create a new match.
  • PUT /api/matches/: Update an existing match.
  • DELETE /api/matches/: Delete a match.

Team Management Endpoints

  • GET /api/teams: Retrieve all teams.
  • POST /api/teams: Create a new team.
  • PUT /api/teams/: Update an existing team.
  • DELETE /api/teams/: Delete a team.

You can have a look to other projects here.

Made with 🫶

paquies