Giter Club home page Giter Club logo

ecommerce-app's Introduction

E-commerce Application

Overview

This repository serves as the main entry point for the E-commerce application. It integrates the productService and userService microservices to provide a complete solution for managing products and users in an online store.

Ecommerce app architecture

Features

User Service

User Service diagram

  • User Registration: Allows new users to sign up. Checks if the user already exists.
  • User Login: Validates user credentials and throws custom exceptions for invalid logins.
  • Authentication Service: Manages authentication tokens and user sessions.

Product Service

Product Service Diagram

  • Product Management: CRUD operations for managing product information.
  • Product Search: Enables users to search for products by various criteria.
  • Inventory Management: Keeps track of product stock and updates inventory accordingly.

Architecture

The application follows a microservices architecture, with each service being a Spring Boot application. The services communicate with each other through RESTful APIs.

Services

Technology Stack

  • Java
  • Spring Boot
  • Spring Security
  • Hibernate
  • MySQL

Getting Started

Prerequisites

  • Java 11 or higher
  • Maven

Installation

  1. Clone the repositories:

    git clone https://github.com/sparsh3007/ecommerce-app
    git clone https://github.com/sparsh3007/userservice
    git clone https://github.com/sparsh3007/productService
  2. Build the Services:

    cd userservice
    mvn clean install
    cd ../productService
    mvn clean install
  3. Run the Services:

    cd userservice
    mvn spring-boot:run
    cd ../productService
    mvn spring-boot:run

API Endpoints

User Service

  • POST /users/signup: Register a new user.
  • POST /users/login: Authenticate a user.
  • POST /roles: Create a new role

Product Service

  • GET /products: Retrieve all products.
  • GET /products/{id}: Retrieve a specific product by ID.
  • POST /products: Add a new product.
  • PUT /products/{id}: Update an existing product.
  • DELETE /products/{id}: Delete a product by ID.
  • GET /categories/{uuid}: Retrieve a specific category by ID
  • GET /categories/products: Retrieve all products for specific categories by category IDs
  • GET /categories/all: Retreive all categories
  • GET /categories/products/{category}: Retreive all products by category name

Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

License

This project is licensed under the MIT License.

Contact

If you have any questions or need further assistance, feel free to reach out at [email protected].

ecommerce-app's People

Contributors

sparsh3007 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.