barber-schedule

O Sistema de Agendamento para Salão de Beleza é uma aplicação desenvolvida para facilitar o gerenciamento de serviços em um salão de beleza, permitindo que clientes agendem serviços como barbearia de forma eficiente e organizada.

Stars
0
Committers
2

barber schedule

Descrição do Projeto

O Sistema de Agendamento para Salão de Beleza é uma aplicação desenvolvida para facilitar o gerenciamento de serviços em um salão de beleza, permitindo que clientes agendem serviços como barbearia de forma eficiente e organizada. A aplicação é projetada para ser usada tanto por clientes quanto pelos administradores do salão, oferecendo funcionalidades de agendamento, gerenciamento de horários disponíveis, e envio de notificações de lembrete aos clientes.

Funcionalidades:

  • Agendamento de Serviços: Clientes podem agendar serviços de barbearia e outros serviços oferecidos pelo salão, escolhendo horários disponíveis diretamente no sistema.
  • Gerenciamento de Horários: O sistema permite o gerenciamento de horários disponíveis, evitando conflitos e garantindo que os profissionais estejam disponíveis para os serviços agendados.
  • Notificações de Lembrete: O sistema envia notificações de lembrete aos clientes antes do horário agendado, reduzindo o número de faltas e cancelamentos de última hora.
  • Administração de Serviços: Possibilidade de adicionar, editar e remover serviços, além de gerenciar a lista de profissionais disponíveis.

Arquitetura e Tecnologias:

  • Arquitetura: A aplicação é construída sobre uma arquitetura RESTful, facilitando a comunicação entre cliente e servidor e permitindo a integração com diferentes plataformas.
  • Backend: O backend é desenvolvido em Spring Boot, utilizando Spring MVC para controle de requisições e Spring Data JPA para persistência de dados.
  • Banco de Dados: O sistema utiliza um banco de dados relacional (MySQL) para armazenar informações sobre clientes, serviços, agendamentos e horários.
  • Segurança: Implementação de Spring Security para autenticação e autorização, garantindo que apenas usuários autorizados tenham acesso a determinadas funcionalidades.

Componentes:

  • Controllers: Responsáveis por expor os endpoints REST, permitindo operações como criação, leitura, atualização e exclusão de agendamentos e serviços.
  • Services: Contêm a lógica de negócios, como validação de dados, cálculos de horários disponíveis, e interação com o banco de dados.
  • Repositórios: Interfaces que gerenciam a persistência dos dados, utilizando Spring Data JPA.
  • Entidades: Representações dos objetos de domínio, como Client, Service, Barber, e Appointment.

Testes:

  • Testes de Integração: Testes de integração para garantir que todos os componentes do sistema funcionem corretamente juntos.
  • Testes Unitários: Testes unitários desenvolvidos para garantir a funcionalidade de métodos específicos, especialmente na camada de serviços.
Related Projects