https://github.com/0nf1rey/serenitas-system
https://github.com/0nf1rey/serenitas-system
apache-ant css html java jsp tomcat
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/0nf1rey/serenitas-system
- Owner: 0nF1REy
- License: mit
- Created: 2025-06-14T06:04:58.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-16T04:15:43.000Z (about 1 year ago)
- Last Synced: 2025-06-16T05:26:22.001Z (about 1 year ago)
- Topics: apache-ant, css, html, java, jsp, tomcat
- Language: Java
- Homepage:
- Size: 862 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README









## 🧭 Guia de Navegação (Índice)
- **[📖 Descrição](#descricao)**
- **[🎯 Propósito do Projeto](#proposito)**
- **[✨ Funcionalidades e Abordagem Técnica](#funcionalidades)**
- **[💻 Tecnologias Utilizadas](#tecnologias)**
- **[📸 Capturas de Tela](#capturas)**
- **[🔧 Pré-requisitos](#requisitos)**
- **[⚙️ Execução](#execucao)**
- **[🌐 Acesso](#acesso)**
- **[📁 Estrutura](#estrutura)**
- **[👤 Desenvolvedor](#desenvolvedor)**
- **[📫 Contribuir](#contribuicao)**
- **[📜 Licença](#licenca)**
Serenitas System
O Serenitas System é um sistema web para gerenciamento de produtos e controle de estoque. Ele oferece funcionalidades essenciais como operações CRUD (Criar, Ler, Atualizar, Excluir) e importação em massa de dados via arquivos CSV. A aplicação foi desenvolvida com um stack clássico de Java para Web, utilizando JSP (JavaServer Pages) para processar a lógica de negócio e renderizar as views, com persistência de dados em MySQL via JDBC.
O **Serenitas System** foi criado com um duplo propósito, servindo tanto como uma ferramenta funcional quanto como um recurso de aprendizado.
- **Como Ferramenta:** Prover uma solução web funcional e intuitiva para gerenciamento de produtos, com operações essenciais para controle de estoque.
- **Como Recurso Educacional:** Servir como um exemplo prático de uma aplicação Java Web construída com a arquitetura MVC Modelo 1, onde as páginas JSP concentram tanto a lógica de controle quanto a de apresentação. É um excelente ponto de partida para entender os fundamentos de JSP e JDBC antes de avançar para arquiteturas mais complexas como o MVC Modelo 2.
> 🏛️ **Ideal para Fins Acadêmicos e de Portfólio:** A simplicidade estrutural e a clareza do código tornam o Serenitas System uma ótima base para projetos acadêmicos e para demonstrar competências fundamentais no ecossistema Java Web.
## ✨ Funcionalidades e Abordagem Técnica
Este projeto implementa funcionalidades de gestão de produtos utilizando uma abordagem direta e focada nas tecnologias essenciais.
- **Operações CRUD Completas:** Implementação de todas as operações de criação, leitura, atualização e exclusão para a gestão de produtos.
- **Importação em Massa:** Funcionalidade para cadastro de múltiplos produtos de uma só vez a partir de arquivos no formato .csv.
- **Arquitetura MVC Modelo 1:** A lógica de controle e a de apresentação são centralizadas nas páginas JSP. Cada JSP é responsável por receber a requisição, processar os dados, interagir com o banco e gerar a resposta HTML.
- **Persistência com JDBC Puro:** A conexão e a manipulação do banco de dados MySQL são feitas diretamente nos JSPs utilizando a API JDBC (Java Database Connectivity) e scriptlets Java (`<% ... %>`).
- **Renderização no Servidor com JSP:** A interface de usuário é construída e renderizada dinamicamente no lado do servidor utilizando JSP.
- **Automação de Build com Apache Ant:** Utilização do Apache Ant para automatizar o processo de compilação, gerenciamento de dependências e empacotamento da aplicação em um arquivo .war.
- **Externalização de Configuração:** As credenciais do banco de dados são mantidas em um arquivo .env externo, separado do código-fonte, para maior segurança e portabilidade.
- **Deploy em Contêiner de Servlets:** O projeto é empacotado como um arquivo WAR (Web Application Archive), pronto para ser implantado em qualquer contêiner de Servlets, como o Apache Tomcat.
| Tecnologia | Descrição |
|------------|-----------|
| Java 8+ (via JSP) | *Linguagem utilizada dentro dos JSPs (scriptlets) para a lógica de negócio.*|
| JSP (JavaServer Pages) | *Tecnologia central para processar requisições e renderizar as páginas web.* |
| JDBC (Java Database Conn.) | *API nativa para conectividade com o banco de dados.* |
| MySQL | *Banco de dados relacional para persistência de dados.*|
| Apache Tomcat | *Contêiner de Servlets para execução da aplicação web.*|
| Apache Ant | *Ferramenta para automação de build e empacotamento (.war).* |
* ### *Apresentação:*

* ### *Cadastro de Produtos:*

* ### *Listagem de Produtos:*

* ### *Consultar Produtos:*

* ### *Cadastrar via CSV:*

## 🚀 Começando
Os seguintes softwares precisam estar instalado em seu sistema antes de você poder executar o Serenitas System:
* **Git:** Para clonar o repositório. [https://git-scm.com/](https://git-scm.com/)
* **Apache Ant:** Para compilar o projeto. [https://ant.apache.org/](https://ant.apache.org/)
* **Java JDK:** Kit de Desenvolvimento Java 8 ou superior. [https://www.oracle.com/java/](https://www.oracle.com/java/)
* **MySQL:** Servidor MySQL. [https://www.mysql.com/](https://www.mysql.com/)
* **Apache Tomcat:** Contêiner de Servlets para executar a aplicação. [https://tomcat.apache.org/](https://tomcat.apache.org/)
---
Para executar o **Serenitas System** localmente, siga estes passos:
1. **Clone o repositório:**
```bash
git clone https://github.com/0nF1REy/serenitas-system.git
cd serenitas-system
```
2. **Importe o banco de dados:**
```bash
# Exemplo com MySQL:
mysql -u root -p < database/serenitas.sql
```
3. **Configure a conexão com o banco de dados**
No arquivo de configuração **.env** localizado na pasta **web/**, ajuste as variáveis de ambiente para conectar ao seu banco de dados **MySQL**. Exemplo de conteúdo do arquivo **.env**:
```bash
# URL de conexão com o banco de dados MySQL
DB_URL=jdbc:mysql://localhost:3306/serenitas_db
# Usuário do banco de dados
DB_USER=root
# Senha do banco de dados
DB_PASSWORD=verysecret
```
4. **Compilar e Empacotar o Projeto:**
```bash
ant clean dist
```
5. **Determinar o caminho do webapps:**
```bash
# Exemplo para Arch Linux:
pacman -Ql tomcat10 | grep webapps
# Exemplo para Debian/Ubuntu:
dpkg -L tomcat10 | grep webapps
# Exemplo para Fedora/CentOS/RHEL/openSUSE e Mageia:
rpm -ql tomcat | grep webapps
# Exemplo para Alpine Linux:
apk info -q tomcat* --files | grep webapps
# Exemplo para Gentoo:
equery files tomcat | grep webapps
# Exemplo para Void Linux:
xbps-query -f tomcat | grep webapps
# Exemplo para Amazon Linux:
rpm -ql tomcat | grep webapps
```
6. **Implantar o WAR no Tomcat:**
```bash
# Copie serenitas-system.war para o diretório webapps do Tomcat.
sudo cp dist/serenitas-system.war /var/lib/tomcat10/webapps/
```
7. **Reiniciar e iniciar o Tomcat:**
```bash
sudo systemctl stop tomcat10
sudo systemctl start tomcat10
```
Após a implantação bem-sucedida no **Tomcat**, acesse o **Serenitas System** diretamente pelo seu navegador:
- 🔗 **URL de acesso: ```http://localhost:8080/serenitas-system/```**
Se tudo estiver configurado corretamente, essa URL carregará a interface principal do sistema, onde você poderá gerenciar seus produtos com facilidade.
---
O **Serenitas System** segue uma estrutura típica de projetos Java Web baseados em JSP. A lógica de negócio e o acesso a dados estão contidos diretamente nos arquivos .jsp.
```
serenitas-system
├── build.xml # Script de build para Apache Ant
├── database/ # Contém o script .sql para criar o banco de dados
├── lib/ # Dependências .jar (drivers, bibliotecas) usadas no projeto
├── LICENSE # Licença do projeto
├── README.md # Documentação e instruções do projeto
├── src/ # Código-fonte Java
│ └── .gitkeep # Mantém o diretório versionado mesmo quando vazio
└── web/ # Raiz da aplicação web
├── *.jsp # Páginas que contêm a lógica e a apresentação
├── *.html # Páginas estáticas
├── assets/ # Recursos de imagem
├── styles/ # Arquivos de estilo CSS
├── .env # Arquivo de configuração de ambiente
└── WEB-INF/ # Diretório protegido da aplicação
├── web.xml # Descritor de implantação da aplicação
└── lib/ # Local onde as dependências são copiadas durante o build
```
---
☕ Peopleware | Tech Enthusiast | Code Slinger ☕
Apaixonado por código limpo, arquitetura escalável e experiências digitais envolventes.
Conecte-se comigo:
---
Contribuições são muito bem-vindas! Se você deseja contribuir com o projeto, por favor, siga estes passos:
1. **Faça um Fork** do repositório.
2. **Crie uma nova Branch** para sua feature ou correção:
```bash
git checkout -b feature/nome-da-feature
```
3. **Faça suas alterações** e realize o commit:
```bash
git commit -m "feat: Adiciona nova feature"
```
4. **Envie suas alterações** para o seu fork:
```bash
git push origin feature/nome-da-feature
```
5. **Abra um pull request** para a branch `main` do repositório original.
### Recursos Úteis
- **📝 Como criar um Pull Request**
- **💾 Padrão de Commits Convencionais**
Este projeto está sob a **licença MIT**. Consulte o arquivo **[LICENSE](LICENSE)** para obter mais detalhes.
> ℹ️ **Aviso de Licença:** © 2025 Alan Ryan da Silva Domingues. Este projeto está licenciado sob os termos da licença MIT. Isso significa que você pode usá-lo, copiá-lo, modificá-lo e distribuí-lo com liberdade, desde que mantenha os avisos de copyright.
