Tournify is a comprehensive football tournament management system with admin and user interfaces for managing tournaments, teams, and players.
- View tournaments list and details
- Browse teams and player information
- Search and filter functionality
- Full CRUD operations for:
- Tournaments
- Teams
- Players
- Advanced tournament management
- User management system
- Backend: Spring Boot (Java 17)
- Database: MySQL 8.0
- API Documentation: Swagger 2.0
- Build Tool: Maven
- Java 17 JDK
- MySQL 8.0+
- Maven 3.6+
- Clone the repository:
git clone https://github.com/houssamb4/tournify.git- Create the MySQL database:
CREATE DATABASE tournify;- Configure database credentials in
backend/src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/tournify
spring.datasource.username=yourusername
spring.datasource.password=yourpassword- Build and run the application:
mvn spring-boot:runAccess Swagger UI at:
http://localhost:8080/swagger-ui/
CREATE TABLE teams (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
location VARCHAR(255),
created_at DATETIME,
updated_at DATETIME
);CREATE TABLE players (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT,
team_id BIGINT,
created_at DATETIME,
updated_at DATETIME,
FOREIGN KEY (team_id) REFERENCES teams(id)
);| Method | Endpoint | Description |
|---|---|---|
| POST | /api/teams |
Create new team |
| GET | /api/teams |
List all teams (paginated) |
| GET | /api/teams/{id} |
Get team details |
| PUT | /api/teams/{id} |
Update team |
| DELETE | /api/teams/{id} |
Delete team |
| POST | /api/players |
Create new player |
| GET | /api/players/by-team/{teamId} |
Get players by team |
curl -X POST "http://localhost:8080/api/teams" \
-H "Content-Type: application/json" \
-d '{"name": "Awesome FC", "location": "New York"}'curl -X GET "http://localhost:8080/api/players/by-team/1"- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Houssam Bouzid - houssambouzid043@gmail.com
Project Link: https://github.com/houssamb4/tournify