Skip to content

Latest commit

 

History

88 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo BarberFlow

Laravel PHP Bootstrap MySQL License


📖 Sobre o Projeto

BarberFlow é um sistema profissional para gerenciamento de barbearias, desenvolvido para oferecer uma experiência moderna, intuitiva e extremamente rápida.

O objetivo do projeto é atender desde barbeiros autônomos até barbearias com múltiplos profissionais, oferecendo controle completo sobre agendamentos, atendimento, financeiro e indicadores de desempenho.

O sistema foi projetado para evoluir futuramente para uma plataforma SaaS (Software as a Service), mantendo uma arquitetura organizada, escalável e preparada para crescimento.


🌐 Ambiente de Demonstração (Railway)

Você pode acessar o ambiente de testes oficial (sempre atualizado com a branch main) através do link abaixo:


🎯 Objetivos

  • Simplicidade de uso
  • Alto desempenho
  • Interface moderna
  • Arquitetura escalável
  • Fácil instalação
  • Fácil manutenção
  • Código limpo
  • Segurança
  • Preparado para SaaS

🚀 Principais Funcionalidades

🎨 Experiência Premium (UI/UX)

  • Design moderno, limpo e elegante
  • Modo Claro e Modo Escuro (Dark Mode) nativos com alternância suave
  • Salvamento automático de preferência de tema via LocalStorage
  • Total responsividade para Mobile e Desktop

📅 Agendamento Público

Página pública e responsiva (/) onde o cliente pode:

  • Escolher o serviço e barbeiro
  • Escolher Data e Hora baseado na disponibilidade em tempo real
  • Acompanhar a Fila Ao Vivo (quantas pessoas já agendadas na frente)
  • Verificação Anti-Bot embutida (anti-spam)
  • Confirmação automática
  • Cancelamento automático: Clientes que agendam e não comparecem têm seu status alterado para "cancelado" após 1 hora de tolerância.

👥 Gestão de Barbeiros

  • Cadastro de barbeiros
  • Foto
  • Contato
  • Status Ativo/Inativo
  • Livre/Ocupado
  • Habilitar ou desabilitar agendamento
  • Controle de horários
  • Controle de folgas

🔑 Gestão de Usuários e Permissões (RBAC)

  • Criação de novos usuários com níveis de acesso.
  • Nível Administrador: Acesso total ao sistema, configurações e relatórios.
  • Nível Funcionário: Acesso restrito à própria agenda (baseado no vínculo com um perfil de barbeiro) e à adição de receitas e despesas.
  • Funcionários são impedidos de excluir (deletar) qualquer registro do sistema (como agendamentos ou itens do caixa).

✂️ Gestão de Serviços

  • Cadastro de serviços
  • Valor
  • Tempo de duração
  • Serviço ativo/inativo
  • Serviço de Cortesia/Fidelidade: Invisível para clientes e funcionários. Acessível apenas para administradores criarem encaixes promocionais (valor zerado).

⚙️ Pipeline CI/CD

  • Workflow configurado com GitHub Actions (.github/workflows/deploy-demo.yml).
  • Deploy automatizado e sem downtime via AWS Systems Manager (SSM) e S3.
  • Acionado automaticamente a cada push na branch principal para ambientes de Demonstração.

📊 Dashboard

Indicadores em tempo real:

  • Agendamentos do dia
  • Barbeiros livres
  • Barbeiros ocupados
  • Clientes aguardando
  • Próximos atendimentos
  • Serviços mais vendidos
  • Faturamento diário
  • Faturamento mensal
  • Remarcação Ágil: Janela interativa para reagendar clientes diretamente da fila, atualizando os dados em tempo real sem recarregamentos.

⏳ Fila de Atendimento (Painel de TV)

Atualização automática em tempo real.

Exibe:

  • Vídeo do YouTube em exibição simultânea (configurável pelo Dashboard)
  • Clientes em atendimento atual
  • Próximos 3 clientes da fila
  • Nome, Horário e Serviço

Pode ser utilizada em televisores da recepção.


💰 Financeiro

  • Entradas
  • Saídas
  • Fluxo de caixa
  • Receitas
  • Despesas
  • Formas de Pagamento (Pix, Crédito, Débito, Espécie)
  • Fechamento diário
  • Fechamento mensal

🔐 Bloqueio de Agenda e Férias

A gerência tem total controle sobre os horários da barbearia:

  • Bloqueios parciais (ex: horário de almoço)
  • Bloqueios totais (ex: feriados e dias de folga)
  • Bloqueio por equipe inteira ou individual para cada barbeiro
  • Ocultação automática dos horários na página pública de agendamento

📈 Relatórios

O módulo de relatórios é uma central de inteligência do negócio:

  • Agendamentos: Filtre por data, barbeiro e status (Concluído, Cancelado, Não Compareceu).
  • Financeiro: Acompanhe o fluxo de caixa, totalizando entradas (receitas) e saídas (despesas).
  • Desempenho de Serviços: Ranking dos serviços mais populares e que mais geram faturamento.
  • Desempenho de Barbeiros: Ranking de quem mais atende e mais contribui financeiramente.
  • Ordenação Inteligente: Dados ordenados com precisão por data, hora e ordem de registro (ID) mais recente.
  • Exportação Universal: Exporte todos os relatórios nativamente em formato PDF ou Excel (.xlsx).

⚙️ Configurações

  • Nome da Barbearia
  • Logo
  • WhatsApp
  • Telefone
  • Endereço
  • SMTP
  • Horário de funcionamento
  • Dias fechados

📦 Instalador

Assistente de instalação contendo:

  • Configuração MySQL
  • Configuração SMTP
  • Dados da empresa
  • Criação do administrador
  • Execução automática das migrations
  • Execução automática dos seeders

🌐 Página Pública

O cliente não precisa criar cadastro.

Para realizar um agendamento basta informar:

  • Nome
  • WhatsApp
  • Serviço
  • Barbeiro
  • Horário

Antes da confirmação será exibida uma operação matemática simples.

Exemplo:

7 + 5 = ?

Somente após responder corretamente o botão Agendar será liberado.

Após confirmar:

  • grava no banco
  • atualiza a fila
  • envia e-mail ao barbeiro
  • envia confirmação ao cliente

🖥️ Tecnologias

Backend

  • Laravel 13
  • PHP 8.3+
  • MySQL 8
  • Eloquent ORM

Frontend

  • Bootstrap 5.3
  • Blade
  • JavaScript ES6
  • AJAX
  • jQuery

Bibliotecas

  • Bootstrap Icons
  • Font Awesome
  • SweetAlert2
  • DataTables
  • Select2
  • FullCalendar
  • Axios

🏗 Arquitetura

O projeto segue:

  • MVC
  • SOLID
  • PSR-12
  • Repository Pattern
  • Service Layer
  • Form Requests
  • Blade Components

Os Controllers possuem apenas responsabilidade de receber requisições.

Toda regra de negócio é implementada na camada de Services.


📂 Estrutura do Projeto

barberflow/

app/
 ├── Enums
 ├── Helpers
 ├── Http
 │    ├── Controllers
 │    ├── Requests
 ├── Jobs
 ├── Mail
 ├── Models
 ├── Notifications
 ├── Observers
 ├── Policies
 ├── Repositories
 ├── Services
 └── Traits

bootstrap/

config/

database/

docs/

public/

resources/
 ├── css
 ├── js
 └── views

routes/

storage/

tests/

artisan

composer.json

package.json

vite.config.js

🗄 Banco de Dados

Principais tabelas:

  • users
  • settings
  • barbers
  • services
  • appointments
  • financial_transactions
  • business_hours
  • blocked_times

🛠️ Instalação

1 - Clonar o projeto

git clone https://github.com/SEU-USUARIO/barberflow.git

2 - Entrar na pasta

cd barberflow

3 - Instalar dependências PHP

composer install

4 - Instalar dependências JavaScript

npm install

5 - Copiar o arquivo de ambiente

Linux/Mac

cp .env.example .env

Windows

copy .env.example .env

6 - Configurar o banco

Edite o arquivo:

.env

Configure:

DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

7 - Gerar chave

php artisan key:generate

8 - Executar migrations

php artisan migrate

9 - Executar seeders

php artisan db:seed

10 - Compilar os arquivos

Modo desenvolvimento

npm run dev

Produção

npm run build

11 - Iniciar servidor

Laragon

http://barberflow.test

Laravel

php artisan serve

📧 Configuração SMTP

Configure no .env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.exemplo.com
MAIL_PORT=587
MAIL_USERNAME=usuario@empresa.com
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@empresa.com
MAIL_FROM_NAME="${APP_NAME}"

Nunca envie credenciais reais para o GitHub.


🔒 Segurança

Nunca versionar:

.env
node_modules/
vendor/
public/build/
storage/logs/
storage/framework/*
bootstrap/cache/*

Jamais armazenar:

  • Senhas
  • Tokens
  • Chaves PIX
  • API Keys
  • SMTP
  • Cookies
  • Sessões

Utilize sempre variáveis de ambiente.


📷 Demonstração

Crie a pasta:

docs/screenshots/

Exemplo:

Agenda Login Dashboard Agenda Barbeiros Serviços Relatórios Financeiro Novo User Configurações


🛣️ Roadmap

Versão 1.0

  • Dashboard
  • Agenda
  • Serviços
  • Barbeiros
  • Financeiro
  • Relatórios
  • Página Pública

Versão 1.1

  • WhatsApp API
  • Confirmação automática
  • Cancelamento por link

Versão 1.2

  • Multiempresa
  • Multiunidade

Versão 2.0

  • SaaS
  • Assinaturas
  • Pagamentos
  • API REST
  • Aplicativo Mobile

📋 Padrão de Commits

Utilizar Conventional Commits.

feat:
fix:
docs:
refactor:
style:
perf:
build:
test:
chore:

Exemplo:

feat: criar módulo de agendamentos

fix: corrigir conflito de horários

docs: atualizar README

refactor: reorganizar Services

🤝 Contribuição

Toda contribuição deverá seguir:

  • PSR-12
  • SOLID
  • Clean Code
  • Repository Pattern
  • Service Pattern

Antes de cada commit execute:

php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan cache:clear
php artisan view:clear
npm run build

📄 Licença

Este projeto possui Licença Comercial/Privada.

Todos os direitos reservados.

A reprodução total ou parcial sem autorização é proibida.


👨‍💻 Desenvolvedor

Sistema desenvolvido por Rafael Maciel.


❤️ Agradecimentos

Obrigado por utilizar o BarberFlow.

Nosso objetivo é entregar uma solução moderna, rápida, segura e preparada para o crescimento da sua barbearia.


About

Sistema para gerenciamento de barbearias, focado na simplicidade, rapidez e inteligência. Desenvolvido para atender desde barbeiros autônomos até grandes barbearias.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages