# Tiago Luvizoto Neves > Desenvolvedor Full-Stack ## Posts - [Mini CRM Lead Tracker – Dia 7: CRUD de Empresas e Multi-Tenancy Estrito](https://tlndesign.com.br/projetos-pessoais/mini-crm-lead-tracker-dia-7-crud-de-empresas-e-multi-tenancy-estrito/): No Dia 7 do projeto Mini CRM Lead Tracker, avancei na estrutura corporativa do sistema: implementei o CRUD completo de Empresas (Companies), consolidando o modelo multi-tenant estrito que serve de base para todo o backend. Essa etapa marca a transição definitiva do projeto para um CRM de padrão enterprise, com segurança em camadas, isolamento de dados e políticas de acesso refinadas. Cada decisão foi tomada com base nas práticas de sistemas como Salesforce, HubSpot e Zoho. 📦 O que foi implementado CRUD completo de empresas (CompanyController) Camada de serviço (CompanyService) com filtragem por company_id Validação com StoreCompanyRequest e UpdateCompanyRequest Formatação […] - [Smart Chat Form – Formulários Conversacionais com JavaScript e Bootstrap 5](https://tlndesign.com.br/ux-ui/smart-chat-form-formularios-conversacionais-com-javascript-e-bootstrap-5/): O Smart Chat Form é um projeto open source criado para transformar formulários comuns em experiências interativas, semelhantes a uma conversa de chat. Desenvolvido com JavaScript puro e Bootstrap 5, ele oferece uma jornada de preenchimento fluida, envolvente e moderna — sem precisar de dependências externas. 🎯 O que é o Smart Chat Form? Em vez de exibir uma longa lista de campos, o Smart Chat Form conduz o usuário passo a passo, como se fosse uma conversa. Cada pergunta aparece em sequência, com animações suaves e respostas validadas em tempo real. O resultado é um fluxo natural, intuitivo e […] - [Mini CRM Lead Tracker — Diário de Bordo: Laravel Sanctum, Multitenancy e Controle por Perfil: Segurança e Escalabilidade no Mini CRM Lead Tracker](https://tlndesign.com.br/projetos-pessoais/laravel-sanctum-multitenancy-role-auth/): No Dia 6 do projeto Mini CRM Lead Tracker, enfrentei um dos marcos mais críticos de qualquer backend moderno: a autenticação segura. Mas não parei por aí. Estruturei também a base de multitenancy e implementei uma camada de controle de acesso por perfil baseada em papéis (roles), tudo com Laravel 10, usando Sanctum e documentação via Swagger. 📌 O que foi implementado Autenticação via Laravel Sanctum com retorno de accessToken Middleware EnsureCompanyIsValid para garantir escopo por empresa Middleware role:{slug} para validação de perfil (admin, operador, master) Seeder de roles, companies e users para testes realistas Swagger funcional com autenticação via […] - [Clean Code não é perfumaria. É o seguro de vida do seu time.](https://tlndesign.com.br/devlife/clean-code-nao-e-enfeite/): Tem gente que acha que organizar o código é perda de tempo. Que separar responsabilidades em controller, service e job é “frescura” ou “over engineering”. Até o sistema quebrar. O estagiário entrar. O cliente pedir algo urgente. E ninguém conseguir mexer. Clean code não é enfeite. É seguro de vida. 👨‍💻 Código feio vicia a empresa em você Tem dev que acha que “centralizar tudo” é uma prova de competência. Quando na verdade, está sabotando o próprio time. O código vira um refém da cabeça de quem escreveu. E se essa pessoa sai? Ninguém mais entende. A empresa trava. 🧠 […] - [API REST com MVC de verdade no Mini CRM Lead Tracker](https://tlndesign.com.br/projetos-pessoais/mini-crm-laravel-mvc-api-rest/): Hoje, no #Dia5 do Diário de Bordo, o projeto começou a ganhar uma API robusta — mas com responsabilidade. Nada de controller gigante ou regra de negócio no model. Aqui a gente aplica MVC de verdade. ✅ Entregas do dia Controllers enxutos, só delegando a lógica Services para encapsular regras de negócio Models focados em persistência e relacionamento FormRequest para validações desacopladas Resource para padronizar as respostas da API Jobs + Events para ações desacopladas e assíncronas Rotas versionadas com middleware e prefix (ex: /api/v1/leads) 🧠 Aplicando MVC com consciência Muita gente acha que usa MVC. Mas na prática, mistura […] - [O cliente não quer software. Ele quer um problema resolvido.](https://tlndesign.com.br/devlife/o-cliente-nao-quer-software-ele-quer-um-problema-resolvido/): Se você acha que sua missão como dev é “escrever código”, sinto te dizer: não é. O cliente não quer código. Não quer API. Não quer tela bonita. Nem banco de dados, nem docker, nem swagger, nem figma. O cliente quer uma coisa muito mais simples (e muito mais difícil): Ter um problema resolvido. 💡 O erro que muito dev comete Ficar focado na tecnologia, na stack, no framework… e esquecer que software é só uma ferramenta. Quando você começa a entender isso, sua carreira muda. Você deixa de ser apenas um executor técnico e passa a ser alguém que: […] - [Mini CRM Lead Tracker — Diário de Bordo: Modelagem, Migrations e Arquitetura no Laravel](https://tlndesign.com.br/projetos-pessoais/mini-crm-lead-tracker-diario-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, […] - [Por que todo dev deveria entender UX (mesmo que nunca faça design)](https://tlndesign.com.br/ux-ui/porque-dev-deve-entender-ux/): Se você ainda acha que UX é só um problema do designer, sinto te informar: você está jogando contra o próprio time. Entender UX não é sobre saber usar Figma ou desenhar telas bonitas. É sobre entender como as pessoas usam aquilo que você codifica. UX é sobre não gerar dúvida Se o usuário não sabe onde clicar, se perde, não entende uma mensagem de erro ou abandona um formulário… isso não é um problema só de design. É um problema seu também. O código que você escreve tem UX Um botão mal posicionado, um input sem máscara, uma API […] - [O que uma empresa realmente espera de um desenvolvedor sênior?](https://tlndesign.com.br/devlife/o-que-esperam-de-um-dev-senior/): Antes de qualquer coisa: esse texto não é sobre endeusar quem tem 10 anos de carreira ou coleciona frameworks no currículo. É sobre o que, na prática, o mercado espera de alguém que se apresenta como desenvolvedor sênior — principalmente se você quer conquistar a confiança de empresas mais exigentes. 1. Domínio técnico consistente Não se trata de saber tudo, mas de saber o suficiente com profundidade. Dominar a stack principal, escrever código limpo, legível e escalável. Entender arquitetura. Saber quando usar um padrão de projeto — e quando não usar. 2. Visão de produto e experiência do usuário O […] - [Mini CRM Lead Tracker — Diário de Bordo: Modelagem de Dados e Diagrama ER](https://tlndesign.com.br/projetos-pessoais/mini-crm-modelagem-dados/): 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 […] - [Programadores vs. Usuários? Não. Somos todos parte da mesma interface.](https://tlndesign.com.br/ux-ui/dev-vs-usuario-ux-ui-na-pratica/): Antes de mais nada, este não é um texto para dizer que programadores são mais inteligentes ou que usuários são leigos. Pelo contrário: é para lembrar que ambos os lados têm seus desafios — e que, no fim, todo sistema é feito por pessoas e para pessoas. Do lado do desenvolvedor… Quem nunca passou por isso: você entrega o sistema funcionando, validado, com mensagens claras… e no dia seguinte recebe um chamado: “O sistema está com bug.” Quando, na verdade, era só uma mensagem que o usuário não leu — ou não entendeu. Isso não é burrice. É falta de […] - [Mini CRM Lead Tracker — Diário de Bordo: Definição de Fluxo do Usuário (User Flow)](https://tlndesign.com.br/projetos-pessoais/mini-crm-lead-tracker-definicao-de-fluxo-do-usuario-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): Login: Usuário faz login seguro com email e senha. Dashboard (Analytics): Big Numbers (Total de Leads, Leads Ativos, Leads Fechados). Funil Visual […] - [O Que as Empresas Procuram em um Desenvolvedor Front-end em 2025](https://tlndesign.com.br/devlife/empresas-procuram-desenvolvedor-front-end-2025/): Ser um bom desenvolvedor(a) front-end hoje vai muito além de codar com a última framework do mercado. As empresas procuram profissionais completos, que entreguem mais do que interfaces bonitas — entreguem experiências reais. O que define o dev front-end que as empresas querem? UX/UI na prática: Não é só saber HTML e CSS — é entender como o usuário pensa e sente. Design não é decoração, é usabilidade e experiência. Domínio de Figma: Saber ler, editar e transformar protótipos em código real. Figma virou o idioma universal do design digital. Ferramentas além do Figma: Photoshop: Para edição de imagens, mockups […] - [Mini CRM Lead Tracker — Diário de Bordo: Kickoff e MVP](https://tlndesign.com.br/projetos-pessoais/mini-crm-lead-tracker-kickoff-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 […] - [Como documentar APIs de um Mini CRM usando Swagger](https://tlndesign.com.br/apis-e-integracoes/documentacao-apis-com-swagger/): Documentação de API não é luxo — é necessidade. Especialmente quando estamos construindo um sistema real, como o nosso Mini CRM Lead Tracker. Para garantir que o sistema seja sustentável, optamos por usar o padrão Swagger para documentar a API RESTful do CRM. O que é Swagger? Swagger é um conjunto de ferramentas que usa o padrão OpenAPI Specification para definir, visualizar e interagir com APIs RESTful de maneira padronizada e automática. Por que estamos usando Swagger no Mini CRM? 📚 Documentação automatizada e padronizada dos endpoints de leads. 🔍 Facilidade para o front-end Vue.js consumir a API. 🛡️ Melhora […] - [Meu estilo de programação: Como penso, documento e organizo meus projetos](https://tlndesign.com.br/devlife/meu-estilo-programacao-documentacao-boas-praticas/): Quem nunca voltou para um código meses depois e pensou: “Que inferno é esse?” Depois de anos codando projetos de todos os tamanhos, desenvolvi um processo próprio para estruturar cada projeto que começo. Neste artigo, compartilho meu estilo de programação — da documentação inicial às boas práticas no código e gestão do projeto. Documentação: antes de escrever a primeira linha de código Antes de qualquer comando no terminal, eu crio um documento PDF onde descrevo o projeto: Visão geral do sistema Descrição dos fluxos principais Funcionalidades essenciais Modelagem inicial do banco de dados Depois disso, passo para diagramas e modelagens […] [comment]: # (Generated by Hostinger Tools Plugin)