Supermercado
Sistema de caixa de supermercado | Java + Servlets + JSP + Apache + Design Patterns
Install / Use
/learn @steffmartin/SupermercadoREADME
Aviso: Este projeto foi concluído durante meus estudos na universidade e, apesar de estar funcional, utiliza tecnologias que podem estar desatualizadas. Ele permanece público como uma fonte de conhecimento e referência. Sinta-se à vontade para explorar o código e aprender com ele!
Sistema de Supermercado

Sistema experimental para caixas de supermercado, desenvolvido para prática de aplicação de Design Patterns. O sistema possui controle de estoque, controle de vendas, controle de notas e moedas, controle de acessos de usuário e relatórios.
Neste arquivo você encontrará instruções para instalação, imagens demonstrativas e também tecnologias e conceitos utilizados nesta aplicação.
Demo #1 - Demo #2 - Demo #3 - Demo #4 - Demo #5 - Demo #6 - Demo #7 - Demo #8
Primeiros Passos
Siga estas instruções para ter uma cópia do projeto funcionando em seu computador.
Pré-requisitos
O que você precisará:
IDE Netbeans EE
JDK
Apache
PostegreSQL
Instalando
Siga os passos a seguir para rodar esta aplicação em seu computador.
Caso não esteja interessado no desenvolvimento, vá para a página Releases e baixe o compilado para executar.
Banco de Dados
O sistema criará o banco de dados automaticamente, desde que o usuário e a senha do PostgreSQL sejam postgres e root, respectivamente.
Caso queira executar o sistema com outras credenciais de acesso ao banco de dados, modifique o arquivo DataBaseConnect.java.
Obtendo uma cópia
Faça o download, use uma ferramente Git ou a própria IDE Netbeans para clonar este repositório:
No Netbeans, vá em Team → Git → Clone.
Informe a URL e clique em Next → Next → Finish.
Executando
Execute o projeto normalmente pela IDE:
No Netbeans, com o botão direito sobre o projeto, vá em Run
O servidor estará pronto quando a mensagem abaixo for exibida no console:
CONSTRUÍDO COM SUCESSO (tempo total: XX segundos)
Demonstração
O sistema pode ser acessado pela URL http://localhost:8084/SiMarket
Primeiro acesso
No primeiro acesso será criado a base de dados, usuário e dados da empresa. Siga os passos da instalação guiada.
Utilização
Use as caixas para navegação:
Vá em Config. Empresa para preencher as informações cadastrais da empresa
Vá em COnfig. Caixa para informar o saldo inicial do caixa
Vá em Produtos para cadastrar os itens a serem vendidos e seus saldos iniciais
Vá em Usuários e cadastre os usuários do sistema e suas permissões de acesso
Vá em Trocar Senha para modificar as credenciais do usuário autenticado
Vá em Nova Venda para efetauar uma venda
Vá em Continuar Venda para voltar a uma venda já iniciada e ainda não finalizada
Vá em Vendas para ver o registro das vendas realizadas
Vá em Relatórios para ver informações cadastrais, saldos e vendas
Capturas de tela
Demo #1 - Demo #2 - Demo #3 - Demo #4 - Demo #5 - Demo #6 - Demo #7 - Demo #8
Deployment
Distribua este projeto como um arquivo *.war para rodá-lo em um servidor Apache:
No Netbeans, com o botão direito sobre o projeto, vá em Clean and Build
O arquivo *.war será criado na pasta
distdo projeto.
Tecnologias utilizadas
- Servlets - Java Servlet
- JSP - Java Server Pages
- Scriptlets - JSP Scriptlets
- Apache - Servidor Web
- PostgreSQL - O SGBD adotado
- jQuery - Biblioteca JavaScript
- Font Awesome - Biblioteca de ícones
Conceitos teóricos aplicados
- Singleton - Design Pattern
- Observer - Design Pattern
- Decorator - Design Pattern
- Factory Method - Design Pattern
- Chain of Responsibility - Design Pattern
- MVC - Design Pattern
- DAO - Design Pattern
O documento
Justificativa dos Padrões Utilizados, disponível na página Releases, explica como cada padrão foi demonstrado neste projeto.
Autores
Licença
Este projeto está licenciado sob a MIT License - leia LICENSE.md para mais detalhes.
