An open API service indexing awesome lists of open source software.

https://github.com/kumarankit263/backend_shopease

The Ecomm Backend is a robust RESTful API server built with Spring Boot that powers the e-commerce application. It manages core functionalities like user authentication, product management, order processing, reviews, and more
https://github.com/kumarankit263/backend_shopease

jpa-hibernate mysql-database rest-api spring spring-boot spring-security

Last synced: 2 months ago
JSON representation

The Ecomm Backend is a robust RESTful API server built with Spring Boot that powers the e-commerce application. It manages core functionalities like user authentication, product management, order processing, reviews, and more

Awesome Lists containing this project

README

          

# ๐Ÿ›’ E-Commerce App

A **full-stack e-commerce application** built with **Spring Boot (backend)** and **React.js (frontend)**.
This app supports user registration, secure JWT-based login, product management, cart functionality, order placement, admin dashboard, and more.

---

## ๐Ÿš€ Features

### ๐Ÿ‘ค Authentication
- ๐Ÿ” JWT-based login for **User** and **Admin**
- ๐Ÿ›‚ Role-based access control (`USER`, `ADMIN`)
- ๐Ÿ”’ Protected and secure API routes

### ๐Ÿ›๏ธ Product Management
- โž• Add / โœ๏ธ Update / โŒ Delete products (**Admin only**)
- ๐Ÿ”Ž Search & filter by **category** or **product name**
- ๐Ÿ–ผ๏ธ Product image, description, and price display

### ๐Ÿ›’ Cart
- โž• Add, โž– Remove, and ๐Ÿ” Update product quantity
- ๐Ÿ’ต View total price of products in cart

### ๐Ÿ“ฆ Order Management
- ๐Ÿงพ Place order from cart
- ๐Ÿ—“๏ธ View **order history** (User)
- ๐Ÿ—‘๏ธ Admin can delete **any user's** order

### ๐Ÿ“ Reviews
- โœ๏ธ Add, ๐Ÿ“ Update, โŒ Delete product reviews
- ๐Ÿ“‹ View all reviews of a product

### ๐Ÿ“ซ Address Book
- ๐Ÿ“ Add / Update / Delete multiple addresses
- ๐Ÿ  Use address while placing an order

---

## โš™๏ธ Tech Stack

### ๐Ÿง  Backend
- ๐Ÿ’ป Spring Boot
- ๐Ÿ” Spring Security + JWT
- ๐Ÿ—ƒ๏ธ JPA (Hibernate)
- ๐Ÿ›ข๏ธ MySQL or H2 (for testing)

### ๐ŸŒ Frontend
- โš›๏ธ React.js (with Vite)
- ๐ŸŒ Axios (for API calls)
- ๐Ÿงญ React Router DOM

---

## ๐Ÿ“ Project Structure

### ๐Ÿ“ฆ Backend (`Spring Boot`)

๐Ÿ“ Project Structure (Backend)

- `src/`
- `controller/` โ€“ REST Controllers
- `model/` โ€“ JPA Entities
- `repository/` โ€“ JPA Repositories
- `service/` โ€“ Business Logic
- `security/` โ€“ JWT Filters and Configuration
- `main/` โ€“ Application Entry Point

---

## ๐Ÿ› ๏ธ Setup Instructions

### ๐Ÿ“Œ Backend Setup

```bash
# 1. Clone the repo
git clone https://github.com/your-username/ecommerce-app.git
cd ecommerce-app/backend

# 2. Configure application.properties
# Set DB config, JWT secret, and other properties

# 3. Run Spring Boot app
./mvnw spring-boot:run

# Server Port
server.port=8080

# Database Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/Ecomdb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root # Replace with your MySQL username
spring.datasource.password=root # Replace with your MySQL password