Giter VIP home page Giter VIP logo

bindgo-deployed-railway's Introduction

REST API For E-Commerce Application

This is a Individual project, I have built a rest API service for an Online Shopping Application which can be used by customers to login into their profile, update their information and Add the product to the cart and order them. All this is over looked by the admin who can also login and update their information as well as access the data in the Admin Module.

Database Schema

Untitled (1)

Tech Stack

  • Java
  • Hibernate
  • Spring Framework
  • Spring Boot
  • Spring Data JPA
  • MySQL
  • Swagger UI
  • Maven
  • JWT authentication
  • Criteria Query

Modules

  • Login Module
  • Customer Module
  • Admin Module

Features

  • Data Authentication and Validation for all the users (Admin and Customer)

Admin Features

  • Admin can access all Order details along with specific Order details using a particular customerId.
  • Admin can Add product and remove as well.

Customer Features

  • Customer can login in the application and update their information using their mobile number and password.

  • Customer can add product to cart and remove the product from cart as well.

  • Customer can update quantity after adding the product to the cart.

  • Customer can Order the product and Cancel as Well.

  • Installation & Run

  • Before running the API server, you should update the database config inside the application.properties file.

  • Update the port number, username and password as per your local database configuration.

    server.port=8888

    spring.datasource.url=jdbc:mysql://localhost:3306/edb;
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=root

API Root Endpoint

https://localhost:8888/
http://localhost:8888/swagger-ui/

API Reference

Login Requests

   Customer And Admin Login
Request METHOD URI Description
POST Login http://localhost:8888/login Login Customer or Admin
POST Current User http://localhost:8888//current-user Current User

Admin Requests

  Admin Controller
Request METHOD URI Description
POST Create http://localhost:8888/admin/create Create Admin
PUT Update http://localhost:8888/admin/update Update Admin
DELETE Delete http://localhost:8888/admin/delete Delete Admin
GET Get All Orders http://localhost:8888/admin/getAllOrders Get All Orders
GET Get All Product http://localhost:8888/admin/getAllProduct Get All Product
GET Get Product By Id http://localhost:8888/admin/getProductById Get Product By Id
DELETE Remove Product http://localhost:8888/admin/removeProduct Remove Product
GET Find All Customer http://localhost:8888/admin/findAllCustomer Find All Customer
GET Find Customer By Id http://localhost:8888/admin/findCustomerById Find Customer By Id

Customer Requests

  Customer Controller
Request METHOD URI Description
POST Create http://localhost:8888/customer/create Create Customer
PUT Update http://localhost:8888/customer/update Update Customer
GET Add To Cart http://localhost:8888/customer/addToCart Add To Cart
GET Update Quantity http://localhost:8888/customer/updatingQuantity Update Quantity Of Product
GET Get All Product http://localhost:8888/customer/getAllProductAddedInCart Get All Product Added In Cart
DELETE Remove Product From Cart http://localhost:8888/customer/removeProductFromCart Remove Product From Cart
DELETE Remove All Product From Cart http://localhost:8888/customer/removeAllProductfromCart Remove All Product From Cart
POST Order Product http://localhost:8888/customer/orderProduct Order
GET Get Order By Id http://localhost:8888/customer/getOrderById Get Order By Id
DELETE Cancel Order http://localhost:8888/customer/cancelOrder Cancel Order
GET Get All Product http://localhost:8888/customer/getAllProduct Product Admin Upload
GET Get All Order http://localhost:8888/customer/getAllOrdersByCustomer Get All Order
GET Add review http://localhost:8888/customer/review Add review admin
GET Get review http://localhost:8888/customer/review Get review admin

Order Requests

  Order Controller
Request METHOD URI Description
GET Create http://localhost:8888/order/orderProduct Order Product
GET Get http://localhost:8888/order/getOrderById Get Order

Product Requests

  Product Controller
Request METHOD URI Description
POST Create Product http://localhost:8888/admin/createProduct Create Product
PUT Update Product http://localhost:8888/admin/updateProduct Update Product
GET Get Products http://localhost:8888/product/pagination Get Products
POST Post Product http://localhost:8888/product/pagination Post Products
GET Add review http://localhost:8888/product/review Add and Update Review Product
GET Get review http://localhost:8888/product/review Get Review Product
GET Get All review http://localhost:8888/product/review Get All Review Product
GET Add helpfull Count http://localhost:8888/product/addReviewCount Get Count Helpfull Product

Address Requests

  Address Controller
Request METHOD URI Description
POST Create Address http://localhost:8888/address/add Create Address
GET Get All Address http://localhost:8888/address/getAllAddress Get All Address
GET Get Address http://localhost:8888/address/getById Get Address
Delete Delete Address http://localhost:8888/address/deleteById Delete Address
GET Set Default Address http://localhost:8888/address/setDefault Set Default Address

bindgo-deployed-railway's People

Contributors

aman103767 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.