Skip to content
LTABRPublic
forked from anoporal/CinePlus

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 CinePlus

Sistema web para gestão de cinema: cadastro de clientes, filmes, salas, sessões e venda de ingressos com registro de pagamentos. Projeto acadêmico desenvolvido no contexto da disciplina de Padrões de Projetos, aplicando padrões estruturais e comportamentais em uma aplicação Java EE (Servlet + JSP + MySQL).


✨ Funcionalidades

  • 👤 Clientes — cadastro, listagem, edição e exclusão.
  • 🎞️ Filmes — cadastro e vínculo com sessões.
  • 🏟️ Salas — capacidade e associação com sessões.
  • 📅 Sessões — data/hora, filme associado e consulta de vagas disponíveis.
  • 🎟️ Ingressos — emissão vinculando cliente, sessão e forma de pagamento.
  • 💳 Pagamentos — abstração por interface e implementações (cartão, boleto, PIX etc.), com uso de Builder para montagem dos objetos de pagamento.

🛠️ Stack tecnológica

Tecnologia Uso
Java 24 Linguagem Back-End principal
Maven Build e empacotamento WAR
JavaX Servlet API / JSP Camada web
MySQL Banco de dados relacional

Fluxo típico de requisição: navegador → /controle?model=Cliente&op=ConsultarTodos → instanciação reflexa do comando ClienteConsultarTodos → JSP de destino listaClientes.jsp.


📋 Dependências

  • JDK 24 (ou ajuste no pom.xml).
  • Maven 3.x.
  • MySQL em execução (porta padrão 3306).
  • Servidor de aplicação compatível com Servlet 4 (ex.: Tomcat 9).

🗄️ Banco de dados

  1. Execute o script sql/cineplus_schema.sql no MySQL Workbench.
  2. Ajuste credenciais em FabricaConexao.java se necessário:
    • URL: jdbc:mysql://localhost:3306/db_cineplus
    • Usuário: root
    • Senha: (vazia por padrão)

🚀 Build e deploy

No diretório do projeto (onde está o pom.xml):

mvn clean package

O artefato gerado é target/CinePlus.war. Copie-o para o diretório webapps do Tomcat (ou faça o deploy pela interface de administração do servidor).

É recomendada a utilização da IDE IntelliJ IDEA com a extensão Tomcat and TomEE ou SmartTomcat.

Como acessar

Após o deploy com contexto /CinePlus:

  • URL base: http://localhost:8080/CinePlus/
  • O index.html redireciona para /CinePlus/controle (Front Controller).

Parâmetros usados pela controller:

  • model — nome da entidade (Cliente, Filme, Ingresso, Sala, Sessao).
  • op — ação (por exemplo Cadastrar, ConsultarTodos, Atualizar, Deletar, ConsultarId ou ConsultarCadastro quando existir).

🏗️ Arquitetura e padrões

  • Command — cada operação (por exemplo ClienteCadastrar, FilmeConsultarTodos) implementa ICommand em pacotes por domínio (command.cliente, command.filme, …);
  • DAO — acesso a banco de dados em dao;
  • MVC — segmentação entre entidades e manipulação de dados e abstração de lógicas de negócio da interface de usuário, com controle de servlet único através do Controller mapeado em /controle, que despacha para comandos via parâmetros model e op;
  • Decorator — implementação de diferentes formas de pagamento e diferentes tipos de parcelamento sem explosão de classes;
  • Builder — classes Builder internos que simplificam o instanciamento de classes de modelo (ClienteBuilder);
  • Factory — unificação do Controller por parâmetros de especificação do modelo e da ação de acordo com o nome de suas classes Command; 53399517d2369805a9292662459a725b33873ad7- Decorator — separação modular dos objetos de Pagamento em tipos (PagamentoAVista e PagamentoParcelado) e formas de pagamento (Pix, Boleto, Cartao) sem a necessidade de criar todas as suas combinações possíveis (explosão de classes).

Diagrama de Classes

Diagrama de Classes com Decorator

Diagramas de Sequência

Fluxos das classes de Cliente

Diagrama de Sequência ClienteAtualizar Diagrama de Sequência ClienteCadastro Diagrama de Sequência ClienteConsultarId Diagrama de Sequência ClienteConsultarTodos Diagrama de Sequência ClienteDeletar

Fluxos das classes de Filme

Diagrama de Sequência FilmeAtualizar Diagrama de Sequência FilmeCadastro Diagrama de Sequência FilmeConsultarId Diagrama de Sequência FilmeConsultarTodos Diagrama de Sequência FilmeDeletar

Fluxos das classes de Sala

Diagrama de Sequência SalaAtualizar Diagrama de Sequência SalaCadastrar Diagrama de Sequência SalaConsultarId Diagrama de Sequência SalaConsultarTodos Diagrama de Sequência SalaDeletar

Fluxos das classes de Sessao

Diagrama de Sequência SessaoAtualizar Diagrama de Sequência SessaoCadastrar Diagrama de Sequência SessaoDeletar

Fluxos das classes de Ingresso

Diagrama de Sequência IngressoCadastrar Diagrama de Sequência IngressoDeletar

Licença

Uso educacional. Todos os direitos reservados para os autores.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages