Skip to content

Ramonrune/book-store-spring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book store

Built With

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

Description

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.



Prerequisites

MySQL and Java 8 installed

Getting started

|
|---casadocodigo ---------------- main project, uses spring mvc
|---casadocodigospringboot ------ side project, sample using spring boot

  1. Download project.
  2. Download s3 ninja. https://s3ninja.net/
  3. 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

Structure of directories

|
|---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

License

This project is licensed under the MIT License