Skip to content

About

Documentação técnica do BridClub — SaaS de agendamento para negócios de beleza e bem-estar em Portugal.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

BridClub 💈

Plataforma SaaS de agendamento para negócios de beleza e bem-estar — barbearias, salões, estúdios de estética, personal trainers e spas em Portugal.

🔗 Produto em produção: bridclub.com

Este repositório documenta a arquitetura, decisões técnicas e funcionalidades do BridClub. O código-fonte é privado (produto comercial em produção), mas este showcase detalha como o sistema foi construído.


📋 Visão Geral

O BridClub nasceu para resolver um problema real: a gestão de agendamentos em negócios de beleza e bem-estar em Portugal ainda depende muito de WhatsApp manual, cadernos e folhas de Excel. A plataforma centraliza agendamento online, gestão de clientes, comunicação automatizada e descoberta de estabelecimentos num único produto.

Desenvolvido e mantido por mim como cofundador técnico na Bridamo, do design do banco de dados ao deploy em produção.

✨ Funcionalidades

  • Agendamento online com gestão de disponibilidade por profissional (não apenas por estabelecimento)
  • Painel administrativo para donos gerirem clientes, horários e equipa
  • Automação via WhatsApp (Meta Cloud API) para confirmações e lembretes de agendamento
  • Descoberta de estabelecimentos com mapa interativo (Mapbox GL)
  • Multi-segmento: barbearias, salões, estética, spas, personal trainers e tatuadores, cada um com a sua taxonomia (establishment_type)
  • Notificações push via Firebase Messaging

🛠️ Stack Técnica

Camada Tecnologia
Frontend Next.js 15/16, React, TypeScript, Tailwind CSS
Backend Next.js API Routes, Node.js
Banco de dados PostgreSQL via Supabase
Integrações Meta Cloud API (WhatsApp), Mapbox GL, Firebase Messaging
Observabilidade Sentry, PostHog
Build Turbopack

🏗️ Arquitetura

flowchart TD
    A[Cliente Web / Mobile] -->|Next.js SSR/CSR| B[Frontend Next.js]
    B --> C[API Routes]
    C --> D[(PostgreSQL - Supabase)]
    C --> E[Meta Cloud API - WhatsApp]
    C --> F[Firebase Messaging]
    B --> G[Mapbox GL - Descoberta]
    C --> H[Sentry / PostHog - Observabilidade]
Loading

O modelo de agendamento usa blocos de disponibilidade por profissional (weekly_schedule_block + schedule_time), permitindo que cada barbeiro/profissional tenha a sua própria agenda dentro do mesmo estabelecimento — em vez de um modelo simplista de "um horário, um estabelecimento".

🔧 Desafios Técnicos Resolvidos

  • Concorrência no agendamento: corrigido um bug multi-camada onde profissionais partilhavam incorretamente a ocupação de horários — exigiu ajustes na rota de API, na cadeia de hooks/serviços, em três overloads de função PostgreSQL e num índice único (appointment_unique_slot, incluindo barber_id).
  • Expansão de domínio: migração do modelo de dados de "apenas barbearias" para múltiplos tipos de negócio, mantendo compatibilidade com dados existentes via enum establishment_type.
  • Performance de geocoding: identificação de um gargalo em resolução de coordenadas no caminho de leitura, com plano de otimização para geocoding assíncrono/em lote.

📸 Screenshots

Captura de Tela 2026-09-16 às 13 08 51 Captura de Tela 2026-09-16 às 13 08 10 Captura de Tela 2026-09-16 às 13 07 34 Captura de Tela 2026-09-16 às 13 07 00 Captura de Tela 2026-09-16 às 13 06 16

🚀 Sobre o Projeto

O BridClub está atualmente em fase de lançamento, com recrutamento ativo de estabelecimentos beta em Portugal.


Brian Rangel — Desenvolvedor Fullstack Portfólio · LinkedIn

About

Documentação técnica do BridClub — SaaS de agendamento para negócios de beleza e bem-estar em Portugal.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors