Skip to content

Fashion Vista is an e-commerce platform designed for managing user accounts, product catalogs, wishlists, shopping carts, and orders. The project features a secure backend with JWT authentication, an intuitive frontend developed with ReactJS, and a comprehensive API Gateway to manage service communications.

Notifications You must be signed in to change notification settings

kothakokila/FashionVista_EcommerceWebsite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fashion Vista

Fashion Vista is an e-commerce web application designed to provide a seamless shopping experience for users. This project includes services for managing products, user accounts, carts, orders, and wishlists, all secured with JWT authentication.

Table of Contents

Overview

Frontend

The frontend of the application is developed using:

  • ReactJS: For building the user interface with reusable components.
  • Redux: For state management across the application.
  • Axios: For making HTTP requests to interact with the backend services.
  • React Router: For handling routing and navigation within the application.

Backend

The backend is designed with a microservices architecture and includes the following components:

Microservices

  1. Product Service

    • Database: MongoDB
    • Responsibilities: Manages product data, including CRUD operations on products.
  2. User Service

    • Database: MySQL
    • Responsibilities: Handles user registration, login, and authentication.
  3. Wishlist Service

    • Database: MySQL
    • Responsibilities: Manages user wishlists.
  4. Cart Service

    • Database: MySQL
    • Responsibilities: Manages cart operations.
  5. Order Service

    • Database: MySQL
    • Responsibilities: Handles order creation and retrieval.

API Gateway

  • Port: 8090
  • Responsibilities: Acts as a single entry point for all client requests, routing them to the appropriate microservices. Ensures centralized management of cross-cutting concerns such as security, logging, and routing.

Service Registry

  • Netflix Eureka: Used for service discovery and registration, allowing services to locate and communicate with each other dynamically.

Integration

  • FeignClient:

    • User Service: FeignClient is used to make RESTful calls to the Product Service to fetch product details, ensuring the User Service can access up-to-date product information.
    • Cart Service: FeignClient is also used to post orders to the Order Service, facilitating the creation of new orders based on the cart's contents.
  • DTO Architecture: Data Transfer Objects (DTOs) are used to transfer data between layers and services, ensuring a clear separation of concerns and reducing data coupling.

Prerequisites

  • Java 11 or later
  • Node.js and npm
  • MongoDB
  • MySQL
  • Spring Boot
  • Eureka Server
  • Spring Cloud Gateway

Installation

  1. Clone the repository

    git clone https://github.com/kothakokila/fashion-vista.git
    cd fashion-vista
  2. Backend Setup

    • Navigate to each microservice directory and install dependencies:
    cd CartService
    mvn clean install
    cd ../OrderService
    mvn clean install
    cd ../ProductService
    mvn clean install
    cd ../UserService
    mvn clean install
    cd ../WishlistService
    mvn clean install
    cd ../Service_Registry
    mvn clean install
    cd ../FashionVistaGateway
    mvn clean install
  3. Frontend Setup

    • Navigate to the frontend directory and install dependencies:
    cd user_interface
    npm install

Running the Application

  1. Start the Eureka Server

    cd Service_Registry
    mvn spring-boot:run
  2. Start the Gateway

    cd ../FashionVistaGateway
    mvn spring-boot:run
  3. Start the Microservices

    cd ../CartService
    mvn spring-boot:run
    cd ../OrderService
    mvn spring-boot:run
    cd ../ProductService
    mvn spring-boot:run
    cd ../UserService
    mvn spring-boot:run
    cd ../WishlistService
    mvn spring-boot:run
  4. Start the Frontend

    cd ../frontend
    npm start

API Documentation

Detailed API documentation can be found [here]):

Technologies Used

  • Backend: Java, Spring Boot, Spring Cloud, Spring Security, JWT
  • Database: MongoDB, MySQL
  • Frontend: React, Redux, Axios
  • Other: Eureka Server, Spring Cloud Gateway

About

Fashion Vista is an e-commerce platform designed for managing user accounts, product catalogs, wishlists, shopping carts, and orders. The project features a secure backend with JWT authentication, an intuitive frontend developed with ReactJS, and a comprehensive API Gateway to manage service communications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published