Gerenciador de Tarefas

Aplicação desktop em Java Swing para gerenciar tarefas por usuário — login com senha criptografada via BCrypt, arquitetura MVC e persistência em MySQL via JDBC.

BCryptSenhas com hash e salt
MVCCamadas separadas por responsabilidade
JDBCPersistência direta em MySQL
DesktopInterface nativa com Swing

Praticar arquitetura MVC e persistência de dados fora do contexto web.

A maior parte dos projetos do portfólio é web ou mobile. Faltava uma peça que demonstrasse fundamentos sólidos de Java puro — orientação a objetos, separação de camadas e acesso a banco de dados via JDBC — sem a ajuda de um framework como Spring por trás, montando a base de autenticação e persistência manualmente.

Um app desktop completo, com login seguro e tarefas isoladas por usuário.

O sistema separa claramente model, view, controller e DAO. O cadastro e login passam por um `AutenticacaoController` que usa BCrypt para gerar e validar o hash da senha — nunca armazenando texto puro. Cada tarefa é vinculada ao `usuarioId` de quem a criou, e o `TarefaDAO` usa `PreparedStatement` para todas as operações, prevenindo injeção de SQL. A interface foi construída em Swing com o GUI Builder do NetBeans.

Stack

Java 17 + Swing

Interface desktop nativa, com telas de login, cadastro e menu principal construídas no GUI Builder do NetBeans.

BCrypt

Hash de senha com salt automático na criação de conta, e verificação segura no login — sem nunca expor a senha original.

JDBC + MySQL

Acesso a banco via `PreparedStatement` em todas as queries, prevenindo SQL injection no cadastro, login e CRUD de tarefas.

Arquitetura MVC

Model, View, Controller e DAO em pacotes separados, isolando regra de negócio da interface e do acesso a dados.

Sessão de Usuário

Controle de sessão em memória garantindo que cada usuário só visualize e edite suas próprias tarefas.

Gradle

Gerenciamento de dependências e build do projeto, incluindo o driver JDBC e a biblioteca de hash de senha.

Fundamentos de Java e persistência de dados aplicados sem atalhos de framework.

O projeto cobre o ciclo completo de uma aplicação desktop com dados persistentes — cadastro, autenticação segura, CRUD isolado por usuário e interface gráfica nativa — construído com Java puro e JDBC, sem a abstração de um framework como Spring. Reforça a base de orientação a objetos, segurança básica de senhas e arquitetura em camadas que sustenta os projetos web mais complexos do portfólio.

×