Categoria: Projetos Pessoais

  • Mini CRM Lead Tracker — Diário de Bordo: Modelagem, Migrations e Arquitetura no Laravel

    Mini CRM Lead Tracker — Diário de Bordo: Modelagem, Migrations e Arquitetura no Laravel

    Chegamos a uma das etapas mais cruciais da construção do nosso Mini CRM Lead Tracker: transformar o Diagrama ER em código real.

    Esse não é um simples “create table”. É a fundação que define se o projeto vai ser escalável, saudável e preparado pro futuro — ou se vai virar uma bomba-relógio nas mãos de quem for manter.


    🧠 Pensamento de Arquitetura

    Antes de qualquer linha de código, cada tabela foi pensada para representar entidades reais do negócio:

    • Companies — Cada cliente que contrata nosso CRM.
    • Users — Usuários que pertencem às empresas.
    • Roles — Permissões e perfis (admin, operador, etc.).
    • Leads — Os potenciais clientes que serão gerenciados no CRM.
    • Kanban Stages — Os estágios do funil de vendas (ex.: Contato, Proposta, Fechamento).
    • Activity Logs — Histórico de movimentações e ações nos leads.

    Se o banco não faz sentido, nenhum código faz.


    🔗 Modelagem no Laravel

    Criamos cada entidade com migrations profissionais:

    
    php artisan make:model Company -m
    php artisan make:model Role -m
    php artisan make:model User --migration
    php artisan make:model Lead -m
    php artisan make:model KanbanStage -m
    php artisan make:model ActivityLog -m
    

    Cada migration vem com:

    ✔️ Relacionamentos bem definidos (FK e cascade).
    ✔️ Comentários explicando o motivo de cada tabela.
    ✔️ Organização que permite escalar e crescer sem virar gambiarra.

    Esse é o tipo de detalhe que separa projetos amadores de projetos que podem virar produtos reais.


    📑 Swagger: documentando desde o início

    Se você acha que documentação é tarefa do fim… tá errado. Documentamos nossa API desde agora.

    O arquivo /docs/swagger.yaml já descreve os primeiros endpoints de leads — e vai crescer junto com o sistema.

    ➡️ O Swagger não é só documentação. É um contrato entre backend, frontend e futuro.


    🚀 Resultado dessa etapa:

    ✅ Banco de dados modelado e com integridade.
    ✅ Arquitetura de dados pronta pra escalar.
    ✅ Documentação Swagger iniciada.
    ✅ GitHub organizado, com README.md profissional e LICENSE personalizada.

    Esse não é mais um projeto aleatório no GitHub. É um CRM real, construído como sistemas reais são feitos.


    “Cada migration aqui não é só um banco de dados. É a tradução da regra de negócio, do entendimento do produto e do respeito por quem vai usar e por quem vai manter esse código no futuro.”

    O Diário de Bordo segue. No próximo capítulo, partimos para os Controllers e primeiros endpoints REST. Bora construir junto!

    👉 Veja o código no GitHub

  • Mini CRM Lead Tracker — Diário de Bordo: Modelagem de Dados e Diagrama ER

    No desenvolvimento de qualquer sistema sério, a modelagem de dados é um dos pilares. No Mini CRM Lead Tracker, essa etapa é fundamental para garantir escalabilidade, segurança e clareza nas relações entre usuários, empresas e leads.

    Por que começar com um Diagrama ER?

    O Diagrama Entidade-Relacionamento (ER) é a espinha dorsal do projeto. Ele ajuda a visualizar:

    • Como as tabelas se conectam entre si
    • As chaves primárias e estrangeiras
    • A estrutura relacional do banco
    • Multiplicidade (1:N, 1:1, etc.)

    Estrutura atual do Mini CRM

    O sistema ainda está em fase MVP, mas já conta com uma modelagem que respeita boas práticas e antecipa crescimento:

    • companies: dados das empresas contratantes do sistema (modelo multitenancy)
    • users: usuários da empresa com função (master ou operador)
    • roles: define os tipos de permissão no sistema
    • leads: contatos gerenciados no funil
    • kanban_stages: estágios personalizados do funil
    • activity_logs: histórico de movimentações de leads

    Preview do Diagrama ER

    Preview do Diagrama ER

    Próximos Passos

    A partir da modelagem, vamos iniciar a construção real das migrations e modelos no Laravel, garantindo que tudo seja bem tipado, documentado e validado.

    “Modelar bem não é burocracia — é visão de longo prazo.”

    Se quiser acompanhar todos os capítulos do Diário de Bordo, continue com a gente aqui no blog. Estamos construindo esse CRM de forma aberta, transparente e com boas práticas.

  • Mini CRM Lead Tracker — Diário de Bordo: Definição de Fluxo do Usuário (User Flow)

    Mini CRM Lead Tracker — Diário de Bordo: Definição de Fluxo do Usuário (User Flow)

    Antes de começar o desenvolvimento, é essencial entender como o usuário vai navegar e interagir com o sistema. O User Flow garante que cada passo da jornada seja pensado para ser intuitivo e funcional.

    Por que começamos pelo User Flow?

    Mapear o User Flow nos ajuda a entender o que realmente importa para o usuário. Para o Mini CRM Lead Tracker, o foco está em simplicidade, eficiência e visão gerencial de qualidade.

    Fluxo Principal (Atualizado para MVP Profissional):

    1. Login: Usuário faz login seguro com email e senha.
    2. Dashboard (Analytics):
      • Big Numbers (Total de Leads, Leads Ativos, Leads Fechados).
      • Funil Visual (Quantos leads por estágio).
      • Últimos Leads Cadastrados.
    3. Página Leads (Operacional):
      • Kanban View (movimentação de leads por estágio).
      • Lista View com Filtros Inteligentes (Status, Origem, Período).
      • Histórico de Movimentações do Lead (registro de mudanças de estágio).
      • Visualizar Detalhes do Lead (dados completos do lead).
      • Adicionar Novo Lead.
      • Exportar Leads (Excel/Sheets).
    4. Logout: Finalizar sessão de forma segura.

    Diagrama de User Flow (Atualizado)

    Diagrama de Fluxo

    O que esse fluxo proporciona?

    • Visão gerencial clara para gestores.
    • Operação simples e ágil para o time comercial.
    • Escalabilidade para integrações futuras.
    • Facilidade de uso com UX pensada desde o início.

    “Fluxo bem desenhado hoje, menos retrabalho amanhã.”

    No próximo capítulo do Diário de Bordo, vamos modelar as entidades de dados com base nesse fluxo e preparar o diagrama ER inicial. Acompanhe!

  • Mini CRM Lead Tracker — Diário de Bordo: Kickoff e MVP

    Mini CRM Lead Tracker — Diário de Bordo: Kickoff e MVP

    Iniciamos hoje o desenvolvimento do Mini CRM Lead Tracker, um sistema pensado para profissionais e pequenas equipes que precisam de um CRM leve, prático e objetivo.

    Objetivos do Projeto

    • Captura de leads via landing page integrada.
    • Gerenciamento visual de leads em um Kanban (Arrastar e Soltar).
    • Exportação rápida dos leads para Excel ou Google Sheets.
    • Relatórios básicos para acompanhamento de vendas.

    Stack Tecnológica

    • Back-end: Laravel (PHP 8.x)
    • Front-end: Vue.js 3 + Vite
    • API REST: Documentada com Swagger (OpenAPI)
    • Banco de Dados: MySQL
    • Futuras Automação: Python para relatórios e follow-ups

    Próximos Passos

    Agora vamos avançar para a definição da arquitetura inicial e modelagem de dados, que vão sustentar a evolução do projeto.

    “Cada linha de código será pensada para ser limpa, escalável e bem documentada — porque o futuro agradece.”

    Quer acompanhar essa jornada? Fique de olho — novos capítulos do Diário de Bordo serão publicados toda semana!