Categoria: Sistemas & Automação

Sistema de Agendamentos para Cabeleireiros

Sistema completo de agendamento para salão de beleza, cobrindo o fluxo inteiro: cadastro de clientes, marcação de horários, gerenciamento de serviços e acompanhamento pelo administrador — tudo em uma aplicação full-stack containerizada.

Arquitetura

A API segue o padrão MVC com 14 endpoints REST sobre um modelo relacional de 4 tabelas no MySQL. O frontend em React consome a API e concentra a lógica de interface; o backend em Node.js cuida de validação, regras de negócio e persistência. Todo o ambiente sobe com Docker, garantindo paridade entre desenvolvimento e produção.

Qualidade

Cada endpoint é coberto por testes E2E com Supertest rodando sobre Jest, e a API inteira é documentada com Swagger — a especificação serve tanto de documentação viva quanto de contrato para o frontend.

Stack

  • React — interface de agendamento e painel administrativo
  • Node.js + Express — API REST com arquitetura MVC
  • MySQL — modelo relacional com 4 tabelas
  • Docker — ambientes reproduzíveis de dev e produção
  • Jest + Supertest — testes end-to-end da API
  • Swagger — documentação completa dos 14 endpoints

Boleto Processing Pipeline

Pipeline que elimina o trabalho manual de processar boletos: os PDFs chegam a uma pasta do Google Drive e saem do outro lado como registros estruturados no PostgreSQL, com o vencimento já agendado no Google Calendar.

Como funciona

Cada PDF é rasterizado com pdftoppm/PyMuPDF antes do OCR — boletos costumam misturar texto vetorial, imagens escaneadas e códigos de barras, e a rasterização normaliza tudo em um formato único para a extração. Sobre a imagem, o pipeline lê os dados do documento e extrai o QR Code PIX, que passa a acompanhar o registro para pagamento direto.

Com os dados extraídos, o fluxo cria o evento de vencimento no Google Calendar e grava o boleto no PostgreSQL, formando um histórico consultável de contas e pagamentos.

Stack

  • Google Drive API — entrada automática dos PDFs
  • pdftoppm / PyMuPDF — rasterização para OCR confiável
  • OCR + extração de QR Code/PIX — leitura dos dados de pagamento
  • Google Calendar — agendamento automático dos vencimentos
  • PostgreSQL — registro estruturado e histórico
  • Docker — orquestração de todas as etapas em containers

DockerServer — Home Server Ubuntu

Home server em Ubuntu que centraliza mídia e automação da casa em uma stack totalmente containerizada — cada serviço isolado no seu container, com dados persistidos fora deles.

Arquitetura

Todos os serviços são declarados em Docker Compose, o que torna o servidor reconstruível a partir de um único arquivo. Os bind mounts mantêm bibliotecas de mídia e configurações no filesystem do host: containers podem ser destruídos e recriados sem perda de dados, e backups viram uma simples cópia de diretórios.

O Jellyfin serve a biblioteca de mídia para qualquer dispositivo da rede; qBittorrent e Jackett cuidam da aquisição, com o Jackett unificando indexadores em uma única API.

Stack

  • Ubuntu Server — base do sistema, administrado via SSH
  • Docker + Docker Compose — orquestração declarativa dos serviços
  • Jellyfin — servidor de mídia self-hosted, sem assinatura
  • qBittorrent — cliente de downloads com interface web
  • Jackett — camada unificada de indexadores

Google Apps Script — Automação Financeira

Conjunto de automações em Google Apps Script que transforma o Google Workspace em um assistente financeiro: boletos e invoices que chegam por e-mail ou Drive são processados, organizados e agendados sem intervenção manual.

Como funciona

Os scripts fazem o parsing dos documentos — identificando valores, datas de vencimento e beneficiários — e usam essas informações para criar lembretes no calendário e manter o controle financeiro organizado. Por rodar dentro do próprio Workspace, a automação não precisa de servidor: o Google executa os gatilhos de tempo e de evento.

Stack

  • Google Apps Script — runtime serverless dentro do Workspace
  • JavaScript — lógica de parsing e integração
  • Gmail / Drive / Calendar — entrada, armazenamento e agendamento