https://github.com/juninmd/meu-barbeiro
https://github.com/juninmd/meu-barbeiro
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/juninmd/meu-barbeiro
- Owner: juninmd
- Created: 2026-04-03T19:12:50.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-07-17T11:26:33.000Z (11 days ago)
- Last Synced: 2026-07-17T13:17:23.697Z (11 days ago)
- Language: TypeScript
- Size: 119 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ✂️ Meu Barbeiro
> A solução completa para gestão de barbearias e agendamentos.
[](https://argocd.antonio-code.duckdns.org)
[](LICENSE)
## 📝 Descrição
O **Meu Barbeiro** é uma plataforma que simplifica a vida de barbeiros e clientes. Com agendamento online, gestão de serviços e controle financeiro, permitimos que o profissional foque no que faz de melhor: a arte da barbearia.
## ✨ Funcionalidades
- **Agendamento Online**: Link exclusivo para clientes marcarem horário.
- **Gestão de Serviços**: Cadastro de cortes, barbas e tratamentos com preços e durações.
- **Painel Administrativo**: Visão geral do dia, semana e faturamento.
- **Notificações**: Lembretes automáticos para evitar faltas.
- **SaaS multi-barbearia**: identidade, endereço, horários e política de sinal por estabelecimento.
- **Mercado Pago**: assinatura mensal de R$ 20,00, conexão OAuth do vendedor, sinal online e comissão fixa de 1% por serviço.
## 🛠️ Tech Stack
- **Frontend**: [React 19](https://react.dev/) + [Vite 6](https://vite.dev/)
- **Backend**: Node.js (API)
- **Estilização**: Tailwind CSS v4
- **Deployment**: Nginx + Docker
## 🚀 Como Rodar Localmente
1. Clone o repositório:
```bash
git clone https://github.com/juninmd/meu-barbeiro.git
```
2. Instale as dependências:
```bash
pnpm install
```
3. Inicie o web app em modo de desenvolvimento:
```bash
pnpm dev
```
O modo de desenvolvimento abre uma área **Acesso mock**. Use **Visão cliente**
para criar e cancelar agendamentos e **Visão barbeiro** para confirmar horários,
concluir atendimentos e gerenciar serviços. Os dados ficam no `localStorage` do
navegador. O seletor de perfis e os dados mock não são habilitados no build de
produção.
Para testar contra a API real, copie `web/.env.example` para `web/.env.local`,
configure `VITE_API_URL` e defina `VITE_ENABLE_MOCKS=false`. Para iniciar web e
API juntos:
```bash
pnpm dev:full
```
### API, banco e Mercado Pago
Copie `api/.env.example` para `api/.env` e configure PostgreSQL, sessão, Google e
Mercado Pago. Gere `SESSION_SECRET` e `TOKEN_ENCRYPTION_KEY` com valores aleatórios;
tokens OAuth dos vendedores são persistidos criptografados.
Banco novo:
```bash
pnpm --filter api prisma:migrate:deploy
```
Banco legado já criado antes do Prisma Migrate: confira que ele corresponde ao
schema inicial, marque somente a baseline e depois aplique as demais migrations:
```bash
pnpm --filter api exec prisma migrate resolve --applied 20260717000000_initial
pnpm --filter api prisma:migrate:deploy
```
Na aplicação do Mercado Pago, configure:
- Redirect OAuth: `${API_PUBLIC_URL}/billing/mercado-pago/callback`
- Webhook: `${API_PUBLIC_URL}/billing/mercado-pago/webhook`
- Eventos: `payment` e `subscription_preapproval`
Use credenciais de teste em homologação e credenciais de produção somente nos
Secrets do ambiente. A plataforma cobra R$ 20,00/mês da barbearia. Em cada
checkout do cliente, `marketplace_fee` recebe 1% do valor total do serviço; o
sinal configurado precisa ser suficiente para essa comissão.
## ✅ Validação
```bash
pnpm lint
pnpm test
pnpm build
pnpm test:e2e
```
## 📦 Deployment
A versão web é servida via **Nginx** no cluster **K3s**.
- **URL Web**: [https://barbeiro.antonio-code.duckdns.org](https://barbeiro.antonio-code.duckdns.org)