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
Install Java 8
Install maven 3
Install Postgresql
Install Lombok and GraphQL plugins in Intellij IDEA
Create a new DB (perfume) in Postgresql
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.
Install node.js
Type in console command: npm install (or yarn install)