A backend system for an online shopping application with APIs for all relevant functionalities including user and admin registration, log in and CRUD functionalities for both admin and customer as per user eligibility.
- Java
- Spring Framework
- Spring Boot
- Spring Data JPA
- MySQL
- Postman
- Swagger
This project has following modules:
- Admin Module
- Customer Module
- Cart and Cart-Product Module
- Category Module
- Product Module
- Orders Module
- Address Module
- Admin Login
- Admin Logout
- Add an admin
- Update admin details
- View admin details by admin id
- Delete admin by admin id
- View all admin details
- Update admin password
- Customer Login
- Customer Logout
- Add a customer
- View customer details by id
- Update customer details
- Delete customer by customer id
- View all customer details
- Update customer password
- Add a product to cart
- Remove a product from cart
- Update the quantity of a product in cart
- Remove all products form a cart
- View all products in a cart
- View total cart price for a cart of a customer by customer id
- Add a category
- Remove a category
- Get all categories
- Get a category by id
- View all products
- Add a product
- Update a product
- View a product by product id
- View all products by category
- Remove a product
- Add a product to a category
- Add an order with an existing address
- Add an order with a new address
- Update order status
- Remove an order
- View an order by order id
- View all orders by date
- View all orders by city name
- View all orders of a customer
- View all orders in ascending order by any specific property
- View all orders in descending order by any specific property
- View all orders with pagination and in ascending order by any specific property
- View all orders with pagination and in descending order by any specific property
- Add an address to a customer
- Update an address
- Remove an address
- View all addresses
- View an address by address id
- View all addresses by pincode
- View all addresses by building name
- View all addresses of orders by pincode
- View all addresses of customers by pincode
- View all addresses of orders by country and state name
- View all addresses of customers by country and state name
- View all addresses in ascending order by any specific property
- View all addresses in descending order by any specific property
- View all addresses with pagination and in ascending order by any specific property
- View all addresses with pagination and in descending order by any specific property
- 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 config.
server.port=8877
spring.datasource.url=jdbc:mysql://localhost:3306/db22
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
https://localhost:8877/
http://localhost:8877/swagger-ui/index.html