Skip to content

This application is a portfolio project built with Spring Boot, PostgreSQL, and Docker, focusing on creating a robust backend system for managing an e-commerce platform.

Notifications You must be signed in to change notification settings

jmlandi/ecommerce-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛍️ E-commerce CRUD with Spring Boot

Welcome to the E-commerce CRUD project! This application is a portfolio project built with Spring Boot, PostgreSQL, and Docker, focusing on creating a robust backend system for managing an e-commerce platform.


🚀 Project Overview

This project implements a backend for an e-commerce application, featuring:

  • 📦 Product Management: Handle parent and child products with attributes like size, color, price, images and stock.
  • 🛒 Order System: Manage orders and associated items.
  • 👤 User Profiles: Store user data, including personal information.
  • 🚚 Address System: Manage user addresses for diferent orders.
  • 🔒 Relationships: Ensure proper data linkage between tables for consistency and efficiency.

🛠️ Tech Stack

Backend

Infrastructure

  • Docker: Containerization for database setup.

📋 Features

🏷️ Products

  • Create and manage parent products with shared attributes.
  • Create child products with variations (e.g., size, color, price).

🛍️ Orders

  • Create and track user orders.
  • Add multiple items to each order.
  • Add any address registered for the user.

👤 Users

  • Manage user profiles with essential details like name, email, and document number.
  • Manage multiple addresses.

📂 Database Schema

The application follows a relational database structure:

  1. Brands
  2. Categories
  3. Parent Products
  4. Product Images
  5. Child Products
  6. Users
  7. User Addresses
  8. Orders
  9. Order Items

E-commerce API Check it out on the dbdiagram.io.


🚀 Getting Started

Prerequisites

  • Java 17+
  • Docker
  • PostgreSQL
  • Maven

Running the Application

  1. Clone the Repository:

    git clone https://github.com/your-username/ecommerce-crud.git
    cd ecommerce-crud
  2. Start the Database:

    docker run --name ecommerce-db -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin -e POSTGRES_DB=ecommerce -p 5432:5432 -d postgres
  3. Run the Application:

    ./mvnw spring-boot:run
  4. Access the application at http://localhost:8080.


📖 Future Enhancements

  • Add user authentication and authorization.
  • Implement a frontend interface.
  • Add more advanced product filtering and searching.
  • Introduce payment gateway integration.

🤝 Contributing

Feel free to fork the repository, make improvements, and submit pull requests. All contributions are welcome!


💬 Contact

For any questions or suggestions, reach out at [email protected].

May the Java be with you! 🍵✨

About

This application is a portfolio project built with Spring Boot, PostgreSQL, and Docker, focusing on creating a robust backend system for managing an e-commerce platform.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages