Proof of Concept · Sistema de Gestão de Vendas de Cervejas
- Sobre o Projeto
- Tecnologias
- Arquitetura
- Pré-requisitos
- Instalação e Execução
- Estrutura do Projeto
- Contribuindo
- Licença
O Brewer é uma aplicação web para gestão de vendas de cervejas, desenvolvida como Prova de Conceito (PoC). O objetivo principal é demonstrar o uso do ecossistema Spring em uma aplicação MVC completa, com autenticação, persistência de dados e interface responsiva.
Back-end
- Java
- Spring Framework (Spring MVC, Spring Boot)
- Spring Security
- Spring Data JPA / Hibernate
- Maven (gerenciamento de dependências e build)
Front-end
- Thymeleaf (template engine server-side)
- Bootstrap 4
- JavaScript / CSS
Empacotamento
- EAR (Enterprise Archive) — módulo
brewer-ear
O projeto segue uma estrutura de multi-módulo Maven, separando responsabilidades entre os módulos:
brewer-all/
├── brewer-ear/ # Empacotamento EAR da aplicação
├── brewer-web/ # Módulo web (MVC, templates, estáticos)
└── pom.xml # POM pai (parent)
A camada web utiliza Spring MVC com Thymeleaf para renderização server-side, com autenticação gerenciada pelo Spring Security. A persistência é feita via Spring Data JPA, abstraindo o acesso ao banco de dados.
Antes de iniciar, certifique-se de ter instalado:
- Java 8 ou superior
- Maven 3.6+
- Servidor de banco de dados compatível (ex: MySQL, PostgreSQL)
- (Opcional) Servidor de aplicação compatível com EAR (ex: WildFly, JBoss)
1. Clone o repositório
git clone https://github.com/marcelofilipov/brewer-all.git
cd brewer-all2. Configure o banco de dados
Edite o arquivo de propriedades em brewer-web/src/main/resources/application.properties (ou equivalente) com as credenciais do seu banco:
spring.datasource.url=jdbc:mysql://localhost:3306/brewer
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha3. Build do projeto
mvn clean install4. Execute a aplicação
cd brewer-web
mvn spring-boot:runAcesse: http://localhost:8080
brewer-all/
├── brewer-ear/
│ └── pom.xml
├── brewer-web/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/ # Classes Java (controllers, services, repositories)
│ │ │ ├── resources/ # Configurações (application.properties, SQL)
│ │ │ └── webapp/ # Templates Thymeleaf, CSS, JS
│ │ └── test/
│ └── pom.xml
├── .editorconfig
├── .gitignore
├── LICENSE
├── pom.xml
└── README.md
Contribuições são bem-vindas. Para mudanças significativas, abra uma issue primeiro para discutir o que deseja alterar.
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/minha-feature) - Faça commit das alterações (
git commit -m 'feat: adiciona minha feature') - Faça push para a branch (
git push origin feature/minha-feature) - Abra um Pull Request
Por favor, certifique-se de atualizar ou adicionar testes quando aplicável.
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
Desenvolvido por marcelofilipov