Project Overview
A robust, scalable e-commerce platform backend built with Spring Boot, supporting multi-vendor operations with advanced features.
🔐 Authentication & Authorization
Secure JWT-based authentication with role-based access control for customers, sellers, and admins. OTP verification for enhanced security.
🛍️ Complete E-Commerce Suite
Full shopping experience with cart management, wishlist, order processing, and comprehensive product catalog management.
💳 Payment Integration
Multiple payment gateways including Razorpay, Stripe, and COD with secure transaction tracking and status management.
👥 Multi-Vendor Support
Complete seller onboarding, product management, order handling, and comprehensive reporting for vendor operations.
⭐ Review & Rating System
User-generated reviews and ratings for products with full CRUD operations and moderation capabilities.
🎯 Promotions & Deals
Advanced coupon system with expiry management, usage tracking, and promotional deals for marketing campaigns.
Technology Stack
Built with modern Java technologies and industry best practices for scalability and maintainability.
🔧 Core Framework
- Java 17
- Spring Boot 3.5.5
- Spring Data JPA
- Spring Security
- Spring Web
- Spring Boot Mail
🗄️ Database & ORM
- MySQL 8.0+
- Hibernate ORM
- MySQL Connector/J
- JPA Repositories
🔒 Security & Auth
- JWT (JJWT)
- Spring Security
- BCrypt Password Encoding
- OTP Verification
💰 Payment Gateways
- Razorpay v1.4.6
- Stripe v26.12.0
- COD Support
🛠️ Development Tools
- Maven Build Tool
- Lombok
- Spring Boot Validation
- JUnit Testing
📧 Communication
- SMTP Email Service
- OTP Generation
- Order Notifications
Database Schema
Comprehensive data model designed for scalability with proper relationships and constraints.
👤 User
- id: Long
- email: String
- fullName: String
- password: String
- role: Enum
Relations: Address, Coupon
🛍️ Product
- id: Long
- title: String
- mrpPrice: Integer
- sellingPrice: Integer
- quantity: Integer
Relations: Category, Seller, Review
📦 Order
- id: Long
- totalSellingPrice: Double
- orderStatus: Enum
- createdAt: DateTime
Relations: User, Seller, OrderItem
🛒 Cart & CartItem
- Cart.id: Long
- CartItem.id: Long
- quantity: Integer
- size: String
Relations: Product
🏪 Seller
- id: Long
- email: String
- status: Enum
- businessDetails: Embedded
Relations: Product, SellerReport
💳 PaymentOrder
- id: Long
- amount: Double
- paymentLinkId: String
- paymentStatus: Enum
Relations: Order, User
⭐ Review
- id: Long
- reviewText: String
- reviewRating: Double
- createdAt: DateTime
Relations: User, Product
🎫 Coupon
- id: Long
- code: String
- discountAmount: Double
- expiryDate: DateTime
Relations: User
RESTful API Endpoints
Comprehensive API documentation with JWT authentication and role-based access control.
🔐 Authentication
- POST /auth/signup
- POST /auth/signin
- POST /auth/sent/login-signup-otp
👤 User Management
- GET /users/profile
🛍️ Product Management
- GET /products/{id}
- GET /products/search
- GET /products
🛒 Cart Management
- GET /api/cart
- PUT /api/cart/add
- DELETE /api/cart/item/{id}
- PUT /api/cart/item/{id}
❤️ Wishlist Management
- GET /api/wishlist
- POST /api/wishlist/add-product/{id}
📦 Order Management
- POST /api/orders
- GET /api/orders/user
- GET /api/orders/{id}
- PUT /api/orders/{id}/cancel
💳 Payment Management
- GET /api/payment/{id}
🏪 Seller Management
- POST /sellers/login
- PATCH /sellers/verify/{otp}
- POST /sellers
- GET /sellers/{id}
- DELETE /sellers/{id}
📦 Seller Products
- GET /sellers/products
- POST /sellers/products
- DELETE /sellers/products/{id}
- PUT /sellers/products/{id}
📋 Seller Orders
- GET /api/seller/orders
- PATCH /api/seller/orders/{id}/status
⭐ Review System
- GET /api/products/{id}/review
- POST /api/products/{id}/review
- DELETE /api/reviews/{id}
🎫 Coupon Management
- POST /api/coupon/apply
- POST /api/coupon/admin/create
- DELETE /api/coupon/admin/delete/{id}
🚀 Quick Start Guide
Get up and running with the Zeemerse backend in minutes.
📋 Prerequisites
- Java JDK 17+
- Maven 3.6+
- MySQL 8.0+
- Git
- IDE (IntelliJ/Eclipse)
⚙️ Configuration
- Database URL Setup
- JWT Secret Configuration
- Payment Gateway Keys
- SMTP Settings
- Environment Variables
🏃♂️ Running
- Clone Repository
- mvn clean install
- mvn spring-boot:run
- Access: localhost:8080
- API Testing Ready