Skip to content

saiteja4626/ecommerce-springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ecommerce-springboot

Ecommerce Spring Boot Project 🛒

This is a backend ecommerce application built with Spring Boot. It manages products, users, categories, orders, addresses, and payments for an online store.


✨ Key Features & Capabilities

  • 🔐 User Registration & Authentication
    Robust and secure signup, login, and logout functionality ensuring user data protection.

  • 📦 Comprehensive Product Management
    Intuitive full lifecycle management — create, read, update, and delete products effortlessly.

  • 🗂️ Dynamic Category Management
    Seamlessly add, update, and organize categories for smooth navigation.

  • 🏠 Flexible Address Management
    Empower users to add and manage multiple shipping addresses with ease.

  • 🛒 Efficient Order Processing & Real-Time Tracking
    Streamlined order placement coupled with transparent status updates.

  • 💳 Seamless & Secure Payment Processing
    Reliable payment integration designed for a smooth and trustworthy checkout experience.

  • 📸 Advanced Image Upload & Handling
    User-friendly image upload system with optimized media management for quick loading and display.

  • 👥 Granular Role-Based Access Control
    Fine-tuned permissions distinguishing Admin and User capabilities to maintain system security.

  • 📊 Actuator Integration
    Spring Boot Actuator endpoints are enabled to expose health, metrics, and other diagnostic information.

    Example Endpoints:

    • /actuator/health
    • /actuator/metrics
    • /actuator/info

🐳 Docker & Multi-Container Setup

The project is Dockerized with docker-compose to enable easy local setup with isolated containers:

🧩 Services

  • ecommerce-app – Spring Boot backend container.
  • mysql-db – MySQL 8 container with persistent storage.

🔗 Network

All services communicate over a custom Docker bridge network (ecommerce-network), enabling secure and seamless service discovery (e.g., using the mysql-db hostname).

📂 Volumes

MySQL data is stored in a named Docker volume (mysql-data) to preserve database content even after container restarts.


🧰 Tech Stack 🚀

  • Backend: Java, Spring Boot
  • Database: MySQL / H2 (JPA/Hibernate)
  • Build Tool: Maven
  • Authentication: Spring Security
  • Image Storage: Local filesystem / Cloudinary (optional)
  • Monitoring & Metrics: Spring Boot Actuator
  • Containerization: Docker, Docker Compose

About

Scalable Spring Boot eCommerce backend featuring secure REST APIs, MySQL database integration, JWT-based authentication, Dockerized microservices, and Actuator for real-time system monitoring.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages