Skip to content

jackytank/JAVA6-VAPERION

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dxcvape-logo

TXT Vaperion - Online vape store

A vape store website made with Spring Boot, payment integration with Paypal Sandbox, there is 3 roles: CUST, DIRE, and STAF. CUST can only visit homepage while STAF and ADMIN can visit both homepage and admin page. User can sign in and sign up with normal account or with OAuth2 account (GG,FB), edit profile, see orders history, reset password, and checkout, search & sort products. DIRE and STAF can visit admin page, CRUD User, Product, Order, Category (to be added), and have authorizing privilege, export data to excel, pdf, csv, upload excel, pdf, csv to db (to be added)

Stack used:

  • Stack:
    • Frontend: AngularJS, Thymeleaf, Bootstrap 5.2, JQuery
    • Backend: Spring Boot, Spring Data JPA, Spring Security, OAuth2
    • Database: SQL Server 2019
  • Software:

Installation

  1. Clone this repo, create database by running the db.sql script inside db folder
  2. Config application.properties according to your credentials
  # for SQLServer Database connection
  spring.datasource.url=jdbc:sqlserver://localhost:1433;database=<your database>
  spring.datasource.username=<your username>
  spring.datasource.password=<your password>
  spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
  spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
  spring.jpa.show-sql=false
  spring.jpa.hibernate.ddl-auto = none
  • Create a app password for your gmail in order to send email in this webapp
  # for send mail contact
  spring.mail.host=smtp.gmail.com
  spring.mail.port=587
  spring.mail.username=<your gmail username>
  spring.mail.password=<your gmail app password>
  spring.mail.properties.mail.smpt.auth=true
  spring.mail.properties.mail.smtp.starttls.enable=true
  • Create Google, Facebook OAuth app and put your client-id, secret key to here, if you don't know how pls check this link
  # Google
  spring.security.oauth2.client.registration.google.client-id=<your google client id>
  spring.security.oauth2.client.registration.google.client-secret=<your google client secret>
  spring.security.oauth2.client.registration.google.scope=email,profile

  # Facebook
  spring.security.oauth2.client.registration.facebook.client-id=<your facebook client id>
  spring.security.oauth2.client.registration.facebook.client-secret=<your facebook client secret>
  spring.security.oauth2.client.registration.facebook.scope=email,public_profile
  • Create a Paypal Sandbox account and fill your business account id and secret here (tips: when checkout use your sandbox personal account email and password)
  paypal.mode = sandbox
  paypal.client.id=<your sandbox business account id>
  paypal.client.secret=<your sandbox business account secret>
  apilayer.apikey=<your api key>

Visuals - Demo

  • User homepage

image

image

image

image

image

image

image

  • Admin homepage

image

image

image

image

image

Support

If things are unclear, PM me at balisongian@gmail.com

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Authors and acknowledgment

Author of this project: Jackytank

License

MIT