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.