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
| Entidade | Descrição |
|---|---|
| User | Usuário do sistema |
| Task | Tarefa vinculada ao usuário |
✔️ Atributos da entidade Task:
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | ID da tarefa |
| user_id | integer | ID do usuário (dono da tarefa) |
| title | string | Título da tarefa |
| description | text | Descrição detalhada |
| status | enum | ‘pending’ ou ‘completed’ |
| due_date | date | Data de vencimento (opcional) |
| created_at | timestamp | Data de criação |
| updated_at | timestamp | Data da última atualização |
🚀 Fluxo Básico do Sistema
- Usuário acessa
/loginou/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:
| Pendentes | Concluídas | Total |
|---|---|---|
| 4 | 10 | 14 |
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.

🗺️ 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.