Status do Projeto:
⚠️ Em Desenvolvimento (In-Progress)
O BarberSync API é o backend de um ERP completo e modular projetado para a gestão operacional de barbearias e salões de beleza. O sistema centraliza o controle de acessos, gestão de profissionais, clientes e agendamentos, garantindo uma arquitetura robusta, testável e segura.
- Linguagem: Java 21
- Framework: Spring Boot 4
- Acesso a Dados: Spring Data JPA / Hibernate
- Banco de Dados: PostgreSQL (Hospedado via Supabase)
- Controle de Versão do Banco: Flyway Migration
- Segurança & Validação: Spring Security / Bean Validation
- Testes Automatizados: JUnit 5, Mockito e MockMvc
A API foi projetada seguindo os princípios de código limpo e arquitetura em camadas:
- DTOs (Data Transfer Objects): Utilização de Java
recordspara immutabilidade e transferência limpa de dados. - Isolamento de Regras de Negócio: Camada de
@Servicededicada para validações e orquestração. - Padronização de Rest: Uso correto de status HTTP (
201 Created,200 OK,204 No Content,400 Bad Request). - Testes de Integração e Unidade: Cobertura de controllers utilizando
MockMvceJacksonTesterpara validação de contratos JSON. - Governança do Código via AI: Utilização de arquivos
@SKILLS.mde@AGENTS.mdpara padronização técnica de assistentes de desenvolvimento.
- Módulo Admin: Cadastro, listagem e controle de permissões administrativas.
- Módulo Barbeiro: Estruturação da entidade, repositório e serviços dos profissionais.
- Módulo Cliente: Gestão de cadastros.
- Testes de Controller & Service: Suíte de testes unitários com mocks para todos os perfis de usuário.
- Banco de Dados Relacional: Migrações versionadas via Flyway conectadas ao PostgreSQL/Supabase.
O projeto segue um roadmap contínuo de evolução:
- Autenticação & Autorização:
- Implementação de segurança stateless via JWT (JSON Web Token).
- Controle de acesso baseado em perfis (RBAC - Roles: ADMIN, BARBEIRO, CLIENTE).
- Módulo de Agendamentos:
- Validação de horários de funcionamento e conflitos de agenda.
- Cancelamento e remarcação com regras de antecedência.
- Módulo Financeiro:
- Controle de comissões por barbeiro e relatórios de faturamento diário.
- Conteinerização & Deploy:
- Criação de
Dockerfileedocker-compose.yml. - Deploy em ambiente de produção (Render / Cloud).
- Criação de
- Java 21 JDK
- Maven 3.8+
- Conta no PostgreSQL ou instância ativa no Supabase
- Clone o repositório:
git clone [https://github.com/GustavoSilva-dev/BarberSync-api.git](https://github.com/GustavoSilva-dev/BarberSync-api.git)
- Configure as variáveis de ambiente no arquivo application.properties (ou variáveis do sistema) com suas credenciais do banco:
spring.datasource.url=jdbc:postgresql://<SEU_HOST_SUPABASE>:5432/postgres spring.datasource.username=<SEU_USUARIO> spring.datasource.password=<SUA_SENHA>
- Compile e execute a aplicação:
./mvnw spring-boot:run
- Execute os testes:
./mvnw test
Desenvolvido por Gustavo Silva
GitHub: @GustavoSilva-dev