Desenvolvimento Web com Laravel, Breeze, Fortify e Tailwind — Parte 3: Apresentando o Projeto Exemplo

Projeto Laravel com Autenticação e CRUD: Com nosso ambiente Laravel já instalado, funcional e com autenticação básica implementada, avançamos agora para a definição do projeto exemplo que vamos construir ao longo desta série.

Escolhemos um projeto que é, ao mesmo tempo, simples o suficiente para quem está começando, mas robusto o bastante para ensinar os fundamentos que qualquer aplicação web real precisa ter.


🎯 O Projeto Exemplo: Gerenciador de Tarefas Simples (Task Manager)

✔️ Funcionalidades do Projeto

O sistema será um Gerenciador de Tarefas, onde cada usuário cadastrado pode:

  • Acessar um Dashboard que exibe suas tarefas de forma resumida.
  • Criar, visualizar, editar, concluir e excluir tarefas.
  • Gerenciar seu próprio perfil, incluindo ativar ou desativar a autenticação em dois fatores (2FA).

Além disso, o sistema contará com uma autenticação completa, incluindo:

  • Login, registro, recuperação de senha e verificação de e-mail.
  • Proteção com 2FA como camada adicional de segurança.

📋 Modelagem de Dados Simplificada

EntidadeDescrição
UserUsuário do sistema
TaskTarefa vinculada ao usuário

✔️ Atributos da entidade Task:

CampoTipoDescrição
idintegerID da tarefa
user_idintegerID do usuário (dono da tarefa)
titlestringTítulo da tarefa
descriptiontextDescrição detalhada
statusenum‘pending’ ou ‘completed’
due_datedateData de vencimento (opcional)
created_attimestampData de criação
updated_attimestampData da última atualização

🚀 Fluxo Básico do Sistema

  • Usuário acessa /login ou /register.
  • Após autenticação (incluindo 2FA se ativado), é direcionado para /dashboard.
  • No Dashboard, visualiza:
    • Quantidade de tarefas pendentes, concluídas e total.
  • Através do menu, pode acessar:
    • “Minhas Tarefas” → Tela de CRUD completo.
    • “Perfil” → Gerenciar dados pessoais, senha, e-mail e configurar 2FA.
    • “Sair” → Logout.

📊 Dashboard Simples

O painel inicial contará com:

PendentesConcluídasTotal
41014

Opcionalmente, poderemos implementar um gráfico simples usando Chart.js ou, se preferirmos, apenas cards estatísticos estilizados com Tailwind CSS.


🔥 Funcionalidades Detalhadas do CRUD

  • Criar Tarefa: Formulário com título, descrição e data de vencimento.
  • Listar Tarefas: Tabela paginada com filtros por status (pendente/concluída).
  • Editar Tarefa: Alteração de qualquer dado da tarefa.
  • Marcar como Concluída: Ação direta na listagem.
  • Deletar Tarefa: Exclusão definitiva da tarefa.
Projeto Laravel com Autenticação e CRUD

🗺️ Estrutura de Rotas

plaintextCopiarEditar/                       → Página inicial (opcional)
/login                  → Login
/register               → Registro
/dashboard              → Painel após login
/tasks                  → Listagem de tarefas (CRUD)
/tasks/create           → Criar nova tarefa
/tasks/{id}/edit        → Editar tarefa
/profile                → Gerenciar perfil e 2FA
/two-factor-challenge   → Desafio 2FA (quando ativado)

🧰 Tecnologias Aplicadas na Prática

  • Laravel 12 com Breeze e Fortify
  • 2FA (Two Factor Authentication) nativo com Fortify
  • Tailwind CSS + Alpine.js para um frontend leve e responsivo
  • Blade Components para organização da interface
  • Vite para build e gerenciamento de assets (CSS/JS)

🏆 Por Que Esse Projeto é Ideal?

  • Envolve todos os fundamentos de uma aplicação real:
    • Autenticação
    • Autorização
    • CRUD
    • Dashboard
    • Gerenciamento de perfil e segurança (2FA)
  • Serve como base para qualquer outro sistema que você queira desenvolver no futuro.

🎯 Conclusão

Agora você conhece o projeto que vamos desenvolver: um Gerenciador de Tarefas Completo, com autenticação robusta, 2FA, Dashboard e um CRUD funcional.

Na próxima etapa da série, vamos começar a construir de fato as funcionalidades:
Configurando o Laravel Fortify com autenticação de dois fatores (2FA) e aprimorando a gestão de perfil de usuário.

🔗 Leitura recomendada: Desenvolvimento Web com Laravel, Breeze, Fortify e Tailwind — Parte 2: Criando o Projeto e Instalando o Laravel Breeze.