E-commerce project developed using Spring Boot and React.js.
An actual version of frontend build deployed to AWS S3 and backend deployed to Heroku:
http://perfume-web.tk
Login: admin@gmail.com
Password: admin
Back-end: Spring (Boot, Data, Security), JPA / Hibernate, PostgreSQL, JUnit, Mockito
Front-end: TypeScript, React.js, Redux Toolkit, Ant Design, Jest
Security: JWT, OAuth2 Google, Facebook, Github
REST API, GraphQL API
AWS S3, Heroku
Server Build: Maven
Client Build: npm, yarn, webpack
Authentication with JWT and Email validation.
Authentication with Google, Facebook or Github
Customers can search for the product according to the specified criteria.
Customers can add and delete products from the shopping cart.
Customers can order the products in the shopping cart.
Customers can change their password and view their orders.
Admin can add or modify a product.
Admin can change the data of any user.
Admin can view orders of all users.
Install maven: link
Install Java 8: link
Install Intellij IDEA Ultimate: link
Install Postgresql: link
Open pgAdmin and create a new DB (name: perfume and perfumetest) in Postgresql: link
Add Postgresql properties to the application.properties file: link
Add Lombok and GraphQL plugins to the Intellij IDEA (File/Settings/Plugins)
Register new AWS account: link
Create new S3 bucket: link
Change access from private to public in S3 bucket
Add public access policy to S3 bucket (!!!important!!! see:
doc ,
github examle or
my example )
Get AWS keys: link and add to the application.properties file: link
Register in gmail
Configure reCAPTCHA: link , guide , video guide (RUS)
Add reCAPTCHA key to the application.properties file: link and to link
Add gmail account and password to the application.properties file: link
Go to link (important) and change to: “Allow less secure apps: ON”
Configure OAuth2: link , guide , video guide (RUS)
Add OAuth2 properties to the application.properties file: link
Install node.js and npm: link
Now you can run EcommerceApplication (port 8080) and open terminal in client directory and type: npm start
Navigate to http://localhost:3000
https://perfume-websore-api.herokuapp.com/swagger-ui.html
Or show local:
http://localhost:8080/swagger-ui.html
Menu page
Product page
Cart
Ordering
Email template
List of orders
User profile page
Add perfume page
Edit perfume list
Edit perfume page