Book store using spring mvc and hibernate.
*Java
*Spring MVC
*Hibernate and JPA
*AWS S3 (s3 ninja)
*MySQL
*Guava for caching
*Async transactions for scalability
*Maven
*Materialize for front-end
*Tomcat 8.0
Some functionalities:
*Login
*Logout
*List books
*Add new books
*List users
*Add books to shopping cart
*Finalize purchase
*List specific books
Books are divided in three main categories:
*E-books
*Printed
*Combo (E-books + Printed).
Every book has a quantity of pages, photo, title, description and a release date.
MySQL and Java 8 installed
|
|---casadocodigo ---------------- main project, uses spring mvc
|---casadocodigospringboot ------ side project, sample using spring boot
- Download project.
- Download s3 ninja. https://s3ninja.net/
- Run s3 ninja:
cd your-directory-s3-ninja
java IPL
Now you are running s3 ninja simulatting amazon s3 on port 9444.
4. Create a bucket called casadocodigo.
Go to localhost:9444 and create the bucket
5. Import project in eclipse as maven project
6. Run maven update
7. Configure your settings in JPAConfiguration class inside conf package.
Note: project is using port 3307, default is 3306 for mysql.
8. Do any other configuration that you would like
9. Run mysql server
10. Run it on tomcat 8.0
|
|---casadocodigo
|------|-------.settings
|------|--------src
|------|---------|----main
|------|---------|-----|-----java
|------|---------|-----|-------|-------br
|------|---------|-----|-------|----------|------com
|------|---------|-----|-------|----------|-------|-----casadocodigo
|------|---------|-----|-------|----------|-------|----------|---------loja
|------|---------|-----|-------|----------|-------|----------|----------|---------conf
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------AmazonConfiguration.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------AppWebConfiguration.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------JPAConfiguration.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------LocaleChangeInterceptor.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------SecurityConfiguration.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ServletSpringMVC.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------SpringSecurityFilterConfiguration.java
|------|---------|-----|-------|----------|-------|----------|----------|---------controllers
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------AuthController.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------HomeController.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------PaymentController.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ProductsController.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ShoppingCartController.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------UserController.java
|------|---------|-----|-------|----------|-------|----------|----------|---------daos
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ProductDAO.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------RoleDAO.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------UserDAO.java
|------|---------|-----|-------|----------|-------|----------|----------|---------infra
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------FileSaver.java
|------|---------|-----|-------|----------|-------|----------|----------|---------models
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------BookType.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------PaymentData.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------Price.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------Product.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------Role.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ShoppingCart.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ShoppingItem.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------User.java
|------|---------|-----|-------|----------|-------|----------|----------|---------service
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------IntegrandoComPagamento.java
|------|---------|-----|-------|----------|-------|----------|----------|---------validator
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ImageValidator.java
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------ProductValidator.java
|------|---------|-----|-------|----------|-------|----------|----------|---------viewresolver
|------|---------|-----|-------|----------|-------|----------|----------|-----------|--------JsonViewResolver.java
|------|---------|-----|-----webapp
|------|---------|-----|-------|-------WEB-INF
|------|---------|-----|-------|----------|------tags
|------|---------|-----|-------|----------|-------|-----page.tag
|------|---------|-----|-------|----------|------views
|------|---------|-----|-------|----------|-------|-----index.jsp
|------|---------|-----|-------|----------|-------|-----auth
|------|---------|-----|-------|----------|-------|-------|-----login.jsp
|------|---------|-----|-------|----------|-------|-----errors
|------|---------|-----|-------|----------|-------|-------|-----403.jsp
|------|---------|-----|-------|----------|-------|-----products
|------|---------|-----|-------|----------|-------|-------|-----form.jsp
|------|---------|-----|-------|----------|-------|-------|-----list.jsp
|------|---------|-----|-------|----------|-------|-------|-----show.jsp
|------|---------|-----|-------|----------|-------|-----shoppingCart
|------|---------|-----|-------|----------|-------|-------|-----items.jsp
|------|---------|-----|-------|----------|-------|-----users
|------|---------|-----|-------|----------|-------|-------|-----list.jsp
|------|---------|-----|-------|----------|------footer.jsp
|------|---------|-----|-------|----------|------header.jsp
|------|---------|-----|-------|----------|------messages.properties
|------|---------|-----|-------|----------|------messages_en_US.properties
|------|---------|-----|-------|----------|------messages_pt.properties
|------|---------|-----|-------|-------resources
|------|---------|-----|-------|----------|-------js
|------|---------|-----|-------|----------|-------|-----jquery.js
|------|--------target
|------|--------.classpath
|------|--------.project
|------|--------pom.xml
|
Description about directories:
conf: General configurations, like servlet, amazon, security, web configurations, local, email, and others
controllers: All controllers used.
daos: All Daos used
infra: Code for file save
models: Class models
service: payment integration
validator: validation
viewresolver: Json view
This project is licensed under the MIT License