REST API for barbershop registration and appointment scheduling, built with Spring Boot and a group-based permissions architecture.
- Java 17
- Spring Boot
- Spring Security + JWT
- Spring Data JPA
- PostgreSQL
- Swagger / OpenAPI
- User registration and authentication (JWT)
- Barbershop CRUD with address and geolocation
- Business hours management by day of the week
- Appointment booking with confirmation and cancellation
- Group-based permissions system
- States and cities CRUD
git clone https://github.com/igortullio/spring-barber
cd spring-barber
./mvnw spring-boot:runFull endpoint documentation available in the repository (Postman/Insomnia collections).
| Resource | Methods |
|---|---|
/auth/login |
POST |
/users |
GET, POST, PUT, DELETE |
/barbershops |
GET, POST, PUT, DELETE |
/operations |
GET, POST, PUT, DELETE |
/schedules |
GET, POST, PUT, DELETE, PUT (confirm/cancel) |
/states |
GET, POST, PUT, DELETE |
/cities |
GET, POST, PUT, DELETE |
/addresses |
GET, POST, PUT, DELETE |
/groups |
GET, POST, PUT, DELETE |
/permissions |
GET, POST, PUT, DELETE |
