Desenvolvi essa aplicação no curso realizado na Caelum CURSO DESENVOLVENDO NA PRÁTICA COM SPRING E TESTES no qual teve boas práticas de programação.
Principais funcionalidades implementadas:
- Formulário para criação da sessão.
- Gerenciamento de sessão, no qual validamos se a sessão a ser adicionada pode ou não estar em conflito com as sessões existentes, para esse processo utilizamos API de data do Java 8.
- Salvando a sessão após preenchimento da sessão, aplicando Hibernate.
- Atribuindo preço na sala e filme, utilizando a classe Bigdecimal.
- Criando desconto dos ingressos aplicando Design Pattern - Strategy no qual cada desconto tenha sua própria regra de negócio, sendo estudante, bancos ou outras promoções .
- Utilizando RestTemplate para consumir API https://omdb-fj22.herokuapp.com/movie?title=1997 para obter informações sobre filmes, todo o conteúdo e imagens.
- Lógica para seleção de lugares.
- Tela de compras.
- Desabilitando a seleção do lugar que está no carrinho.
- Desenvolvendo segurança da aplicação.
- Java
- Maven
- Spring MVC
- Hibernate
- JPA
- MySQL
- JSP com Bootstrap
- jetty
- jUnit
-
Download e Instalação do JAVA 8 (JDK)
-
Download e Instalação do MySQL Server 5.7
-
Download e Instalação de uma IDE
-
Vá no diretório do projeto, baixe as dependências e liste-as
- cd fj22-ingressos
- mvn dependency:resolve
- mvn dependency:tree
-
Empacote e rode (com jetty) a aplicação
- mvn package
- mvn jetty:run Caso queira rodar os dois comandos acima de uma única vez faça mvn package jetty:run 👌
-
No navegador, acesse http://localhost:8080 e aproveite o sistema.
-
E agora..como faço para parar o jetty 😳
- No terminal, pressione CTRL + C para interromper a execução do jetty
- Caso queira limpar o terminal digite clean e enter
-
E uma coisa bem importante, não esqueça de alterar para o seu usuário e senha do banco de dados lá no nosso spring-context.xml.xml
<bean id="mysqlDS" class="org.apache.commons.dbcp.BasicDataSource">
<property name="username" value="seu-usuario"/>
<property name="password" value="sua-senha"/>
<property name="url" value="jdbc:mysql://localhost/ingresso?createDatabaseIfNotExist=true"/>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
</bean>Obs: Caso precise de um auxílio com os comandos para o terminal, isso aqui pode ajudar 😁
Estou evoluindo aplicação, diante disso aceito melhorias e sugestão de idéias 💡