A powerful Spring Boot-based application for managing technicians, equipment, faults, and interventions in any maintenance-driven environment.
RepairNet simplifies and automates the maintenance lifecycle. From assigning technicians with the right skills to tracking interventions and handling faults, this system offers a modular and secure backend solution with well-defined REST APIs.
| Layer | Technology |
|---|---|
| Backend | Spring Boot, Spring Security, JPA (Hibernate) |
| Database | MySQL |
| Security | Spring Security, Custom Auth EntryPoint |
| Build Tool | Gradle |
| Logging | SLF4J + Logback |
- Java 17+
- Gradle
- MySQL
git clone https://github.com/louayamor/repairnet.git
cd repairnet
./gradlew bootRunVisit: http://localhost:8081
- In-memory login setup (for demo):
Username: louayspring
Password: springlouay- Form-based login:
/login
GET /api/technicians— Get all techniciansGET /api/technicians/{id}— Get technician by IDPOST /api/technicians— Add new technician (+skills)DELETE /api/technicians/{id}— Delete a technicianGET /api/technicians/uuid/{uuid}— Find by UUIDGET /api/technicians/search?name=...— Search by namePOST /api/technicians/skills— Find by skillsGET /api/technicians/available— Available technicians
GET /api/interventions— Get all interventionsPOST /api/interventions— Create a new interventionGET /api/interventions/technician/{id}— Get by technicianGET /api/interventions/equipment/{id}— Get by equipment
{
"name": "Louay Amor",
"available": true,
"skills": [
{
"name": "HVAC"
},
{
"name": "Electrical"
}
]
}You can test endpoints using Postman or cURL. Ensure you're sending:
Content-Type: application/json
repairnet/
├── bean/ # JPA Entities
├── controller/ # REST Controllers
├── dto/ # Data Transfer Object
├── Enumerator/ # Enumerators
├── repository/ # Spring Data Repos
├── security/ # Auth & Security Config
├── service/ # Interfaces & Implementations
└── RepairNetApplication.java
Louay Amor
Spring Developer | Deep Learning Enthusiast | Firebase Fan
• 💻 GitHub
This project is licensed under the MIT License — see the LICENSE file for details.