Sistema de gerenciamento para um Manga Café desenvolvido como projeto final para a disciplina de Programação Orientada a Objetos (POO).
O Ryusei Café é uma aplicação Java projetada para simular a administração de um estabelecimento de leitura e alimentação. O objetivo principal foi aplicar na prática os pilares da POO, evoluindo de uma persistência em memória para uma integração robusta com Banco de Dados Relacional (SQL).
O sistema opera em dois modos:
- Interface Gráfica (GUI - Swing): Para uso completo, incluindo vendas visuais, gestão de estoque e CRUD de pessoas.
- Linha de Comando (CLI): Para testes rápidos de lógica e conexão.
- Gestão de Produtos: Cadastro, edição e atualização de estoque de Itens do Menu e Mangás.
- Vendas e Carrinho: Interface visual para adicionar itens, calcular totais e baixar estoque automaticamente via transação no banco.
- Gestão de Pessoas (CRUD): - Cadastro e Edição de Clientes (com sistema de assinaturas).
- Cadastro e Edição de Funcionários (com cargos e salários).
- Histórico de Pagamentos: Registro persistente de todas as vendas realizadas.
- Persistência de Dados (PostgreSQL): Conexão via JDBC com banco de dados real.
- Inicialização Automática: O sistema verifica e cria as tabelas necessárias (
init.sql) na primeira execução.
Este projeto vai além do básico, implementando padrões de projeto e conceitos avançados:
- Padrão DAO (Data Access Object): Separação completa entre a lógica de negócios e o acesso ao banco de dados (
MangaDAO,UsuarioDAO, etc.), facilitando a manutenção. - JDBC (Java Database Connectivity): Uso de drivers para conexão e execução de comandos SQL seguros (Prepared Statements) para evitar SQL Injection.
- Modularização (Packages): Estruturação em pacotes (
DAOs,ryusei,pessoa,gui) para melhor organização. - Interfaces e Polimorfismo: Uso da interface
Vendivelpara tratar Mangás e Itens de Menu de forma genérica no carrinho de compras. - Herança: Estrutura
Pessoa->Funcionario/Usuariorefletida tanto nas classes Java quanto na modelagem do Banco de Dados (Tabelas Relacionais). - Tratamento de Exceções: Uso robusto de
try-catchpara garantir que o sistema não feche em caso de erros de conexão ou validação de dados.
- Java JDK instalado (Versão 17 ou superior recomendada).
- Maven instalado (para gerenciamento de dependências).
- PostgreSQL instalado e rodando.
Antes de rodar, crie um banco de dados e um usuário no seu Postgres local com as seguintes credenciais (ou altere a classe ConnectionFactory):
- Database:
ryusei_cafe - Usuário:
ryusei - Senha:
ryusei
Nota: Não é necessário criar as tabelas manualmente. O sistema possui um arquivo
src/main/resources/init.sqlque é executado automaticamente na primeira conexão para criar a estrutura do banco.
Abra o terminal na pasta raiz do projeto e execute:
1. Compilar o projeto e baixar dependências (Driver Postgres):
mvn clean compileApós isso, escolha qual das duas seguintes opções você deseja usar.
Ideal para a experiência completa do usuário.
mvn exec:java -Dexec.mainClass="RyuseiCafeGUI"Ideal para verificar a lógica sem dependência de janelas.
mvn exec:java -Dexec.mainClass="ryusei_cafe"Este projeto é de uso educacional. Sinta-se à vontade para forká-lo e aprender com ele.