VinodKandula / ecommerce-spring-reactjs

🌺 eCommerce online shop . Using Java, Spring Boot, JWT, OAuth2.0, React.js, Redux, Bootstrap, REST API, GraphQL

Home Page:http://perfumesweb.tk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status codecov

🌺 Perfume web store

E-commerce project developed using Spring Boot and React.js.

An actual version of build is deployed on AWS:

http://perfumesweb.tk
Login: admin@gmail.com
Password: admin

Used Technologies:

  • Back-end: Spring (Boot, Data, Security), JPA / Hibernate, PostgreSQL, JUnit, Mockito
  • Front-end: TypeScript, React.js, Redux, Jest, Bootstrap, CSS
  • Security: JWT, OAuth2 Google, Facebook, Github
  • REST API, GraphQL API
  • AWS: EC2, S3, PostgreSQL RDS
  • Server Build: Maven
  • Client Build: npm, yarn, webpack

Features

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

Installation

  1. Install Java 8
  2. Install maven 3
  3. Install Postgresql
  4. Install Lombok and GraphQL plugins in Intellij IDEA
  5. Create a new DB (perfume) in Postgresql
  6. In file application.properties:
    6.1 Change your upload path to directory .../ecommerce-spring-reactjs/src/main/resources/uploads (variable upload.path (10 line))
    6.2 Type your username and password from your gmail account on 14 and 16 lines.
    6.3 Go to https://myaccount.google.com/u/2/lesssecureapps and change to: “Allow less secure apps: ON”. If you do not change this setting in your Google account, then when sending a message to an email, a 500 server error will occur.
  7. Install node.js
  8. Type in console command: npm install (or yarn install)

Swagger Documentation

http://ec2-3-122-228-86.eu-central-1.compute.amazonaws.com:8080/swagger-ui.html
Or show local:
http://localhost:8080/swagger-ui.html

Screenshots

Menu page Product page
Menu page Product page
Email template List of users
Email template List of users
List of orders User order page
List of orders User order page
User profile page Add perfume page
User profile page Add perfume page
Edit perfume list Edit perfume page
Edit perfume list Edit perfume page

About

🌺 eCommerce online shop . Using Java, Spring Boot, JWT, OAuth2.0, React.js, Redux, Bootstrap, REST API, GraphQL

http://perfumesweb.tk

License:MIT License


Languages

Language:Java 51.8%Language:TypeScript 44.3%Language:CSS 2.0%Language:HTML 1.8%