Platform for managing 5-a-side soccer fields and organizing recreational matches and tournaments. This system is designed to improve the experience for both players and venue owners, solving common challenges in coordinating sporting events.
- 🚀 Overview
- 🧑💻 Main Features
- 🧱 Project Architecture
- ⚙️ Technologies Used
- 🐳 Developer Instructions
- 🌐 Main URLs
Fulbito is a comprehensive platform that supports different user profiles:
- Players who want to find fields, coordinate matches, join teams, or participate in tournaments.
- Organizers looking to create larger or recurring sporting events.
- Venue owners who need to manage field availability, reservations, and schedules.
The system is designed to deliver a smooth experience, reduce friction in organizing matches, and encourage participation in recreational sports activities.
- Search available fields by area, date, and time.
- Join open matches or create new ones.
- Form teams and participate in tournaments.
- Confirm or cancel attendance with one click.
- Publish available fields, schedules, and pricing.
- Receive and manage reservations.
- Avoid overlapping bookings.
- View usage statistics.
- Create and manage tournaments.
- Invite players and teams.
- Configure rules and tournament formats.
- Display match results and statistics.
This project is divided into three main components:
- Backend: REST API built with Spring Boot.
- Frontend: Web application using React and Vite.
- Database: PostgreSQL for data persistence.
The entire development and runtime environment can be launched using Docker.
| Component | Technology |
|---|---|
| Languages | Java, TypeScript |
| Backend | Spring Boot |
| Frontend | React + Tailwind + Vite |
| Database | PostgreSQL |
| Documentation | Swagger |
| Containers | Docker, Docker Compose |
- Make sure you have Docker and Docker Compose installed.
- In the project root, run:
docker compose up --build- To stop and remove the containers:
docker compose downThis will start:
- API at
localhost:30002 - Frontend at
localhost:30003 - Internal PostgreSQL database
- Configure the required environment variables in your IDE (e.g., IntelliJ IDEA):
SPRING_DATASOURCE_DRIVER_CLASS_NAMESPRING_DATASOURCE_URLSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORD
- Start only the database with:
docker compose up db-
Run the backend from your IDE in debug mode.
-
Access the API documentation at:
http://localhost:30002/swagger-ui/index.html#
| Resource | URL |
|---|---|
| Swagger (API Docs) | http://localhost:30002/swagger-ui/index.html#/ |
| Frontend Web App | http://localhost:30003/ |
