📋 Sobre o projeto
O AquaVida é um sistema web para gestão de aquários e aquicultura, desenvolvido como projeto acadêmico. Ele permite o controle completo do ciclo de vida dos peixes: entrada via compra, monitoramento em tanques, reprodução e venda. A arquitetura segue o padrão MVC feito "na mão" — cada módulo tem um Servlet central (Controller) que delega para classes de ação (Command).
⭐ Principais funcionalidades
- Gestão de peixes, tanques, reprodução, compras e vendas (ciclo completo)
- Cadastro de clientes, fornecedores e parâmetros de água
- Inscrição em newsletter
- Login com senhas protegidas por hash BCrypt
- Controle de acesso por perfil (Admin / Operador / Funcionário)
- Bloqueio de acesso direto às JSPs (views protegidas em
/WEB-INF)
🔐 Perfis de acesso
| Perfil | Ver lista | Editar | Excluir | Cadastrar |
|---|---|---|---|---|
| Admin | ✅ | ✅ | ✅ | ✅ |
| Operador | ✅ | ✅ | ❌ | ❌ |
| Funcionário | ✅ | ❌ | ❌ | ❌ |
🛠️ Tecnologias
- Java 17 (LTS) — streams, lambdas e API
java.time - Jakarta EE 10 — Servlets, JSP e JPA (namespace
jakarta.*) - Servlets (
@WebServlet) — controladores HTTP no padrão Command/Action - JSP + JSTL — views sem scriptlets (
c:forEach,fmt:formatDate...) - JPA + Hibernate 6 — mapeamento objeto-relacional via
persistence.xml - MySQL — banco de dados relacional
- Maven — build e dependências
- Jetty embarcado — servidor de desenvolvimento via plugin Maven
- BCrypt — hash de senhas
- Bootstrap + Bootstrap Icons — interface responsiva
- JUnit 5 e PIT — testes unitários e de mutação