Giter VIP home page Giter VIP logo

saurabh-maurya0 / backendcode_project Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 11.52 MB

Welcome to QuikBazaar, an advanced e-commerce platform that seamlessly integrates a robust React.js front end with a powerful Spring Boot backend, supported by MySQL for efficient data storage. This full-stack solution showcases my expertise in developing dynamic and scalable web applications.

Home Page: https://quikbazaar.up.railway.app/swagger-ui/index.html

License: MIT License

Java 100.00%
authentication authorization backend-development backend-server code-documentation database-management e-commerce-project frontend-integrations google-sign-in image-display java jpa pagination payment-api restful-api security-management spring-boot swagger-api swagger-ui upload-image

backendcode_project's Introduction

QuikBazaar - E-commerce WebApplication

Welcome to QuikBazaar, a feature-rich e-commerce platform that seamlessly integrates a robust React.js front end with a powerful Spring Boot backend, backed by MySQL for data storage. This full-stack solution exemplifies my expertise in creating dynamic and scalable web applications.

Contact Information

API Documentation External Docs

For additional information, refer to the external documentation.

API Base URL

http://quikbazaar.up.railway.app - Generated server URL.

Frontend (React.js):

  1. Interactive User Experience:

    • Engaging product pages with real-time updates and smooth transitions.
    • Intuitive navigation and user-friendly design for optimal user experience.
  2. Efficient State Management:

    • Leveraging React.js for efficient state management, ensuring dynamic and seamless interactions.
  3. Responsive Design:

    • A layout that adapts flawlessly to various devices, providing a consistent experience on desktops, tablets, and mobiles.

Backend (Spring Boot):

  1. RESTful API:

    • Building a RESTful API to facilitate communication between the frontend and backend.
    • Efficient handling of HTTP requests and responses for a smooth user experience.
  2. User Authentication and Authorization:

    • Implementing secure user authentication and authorization mechanisms to protect user data and ensure a safe environment.
  3. Data Processing and Logic:

    • Utilizing Spring Boot for efficient data processing, business logic implementation, and seamless integration with the database.

Database (MySQL):

  1. Relational Data Management:

    • Designing a well-structured relational database schema to manage product information, user data, and order details.
  2. Transaction Management:

    • Ensuring the integrity of transactions, allowing users to safely place and track orders.
  3. Scalability and Performance:

    • Optimizing database queries and indexing for improved performance as the user base grows.

Key Features:

  1. Product Catalog:

    • Comprehensive catalog with categorization for easy navigation.
    • Detailed product pages with high-quality images, descriptions, and user reviews.
  2. Search and Filters:

    • Robust search functionality with filters for refining search results.
  3. Shopping Cart:

    • Seamless cart management with real-time updates on order summary.
  4. User Accounts:

    • Secure user authentication and personalized accounts for order history and preferences.
  5. Checkout Process:

    • Streamlined checkout with multiple payment options and order tracking.
  6. Admin Dashboard:

    • Admin panel for managing products, user accounts, and monitoring order processing.
    • Analytics and reporting tools for gaining insights into user behavior and sales trends.

Technologies Used:

  • Frontend: React.js, JavaScript, CSS
  • Backend: Spring Boot (Java)
  • Database: MySQL
  • API Communication: RESTful API

Explore the QuikBazaar project to witness the seamless integration of React.js with Spring Boot, providing a comprehensive e-commerce solution with a rich set of features. Dive into the codebase to understand the intricacies of full-stack development and feel free to reach out with any questions or feedback!

QuikBazaar API Documentation

Welcome to the QuikBazaar API documentation, providing insights into the precision and innovation of Saurabh Maurya's expertly crafted E-commerce backend code. QuikBazaar offers a dynamic and reliable online shopping experience powered by Spring Boot, reshaping the future of E-commerce technology.

Table of Contents

  1. Authentication
  2. User Operations
  3. Product Operations
  4. Order Operations
  5. Category Operations
  6. Cart Operations
  7. Payment Operations

Authentication

Login

  • Endpoint: /auth/login
  • Method: POST
  • Request Body:
    {
      "email": "[email protected]",
      "password": "password123"
    }
  • Response:
    {
      "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        // UserDto details
      }
    }
  • Security: Bearer Token (JWT)

Login with Google

  • Endpoint: /auth/google
  • Method: POST
  • Request Body:
    {
      // Google Sign-In response
    }
  • Response:
    {
      "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        // UserDto details
      }
    }
  • Security: Bearer Token (JWT)

User Operations

Get Single User by UserId

  • Endpoint: /users/{userId}
  • Method: GET
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      // UserDto details
    }

Update User

  • Endpoint: /users/{userId}
  • Method: PUT
  • Parameters:
    • {userId}: User ID (String)
  • Request Body:
    {
      // UserDto details
    }
  • Response:
    {
      // Updated UserDto details
    }
  • Security: Bearer Token (JWT)

Delete User

  • Endpoint: /users/{userId}
  • Method: DELETE
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      "message": "User deleted successfully",
      "success": true
    
    
    }
  • Security: Bearer Token (JWT)

Get All Users

  • Endpoint: /users
  • Method: GET
  • Response:
    {
      // List of UserDto
    }
  • Security: Bearer Token (JWT)

Create New User

  • Endpoint: /users
  • Method: POST
  • Request Body:
    {
      // UserDto details
    }
  • Response:
    {
      // UserDto details of the created user
    }
  • Security: Bearer Token (JWT)

Serve User Image

  • Endpoint: /users/{userId}/image
  • Method: GET
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    • User image (Binary)

Upload User Image

  • Endpoint: /users/{userId}/image
  • Method: POST
  • Parameters:
    • {userId}: User ID (String)
  • Request Body:
    • Image file (multipart/form-data)
  • Response:
    {
      "message": "Image uploaded successfully",
      "success": true
    }
  • Security: Bearer Token (JWT)

Search Users

  • Endpoint: /users/search
  • Method: POST
  • Request Body:
    {
      // Search criteria
    }
  • Response:
    {
      // List of UserDto matching the search criteria
    }
  • Security: Bearer Token (JWT)

Get User by Email

  • Endpoint: /users/email/{email}
  • Method: GET
  • Parameters:
    • {email}: User email (String)
  • Response:
    {
      // UserDto details
    }

Get Current User

  • Endpoint: /users/me
  • Method: GET
  • Response:
    {
      // UserDto details
    }
  • Security: Bearer Token (JWT)

Product Operations

Get Product

  • Endpoint: /products/{productId}
  • Method: GET
  • Parameters:
    • {productId}: Product ID (String)
  • Response:
    {
      // ProductDto details
    }

Update Product

  • Endpoint: /products/{productId}
  • Method: PUT
  • Parameters:
    • {productId}: Product ID (String)
  • Request Body:
    {
      // ProductDto details
    }
  • Response:
    {
      // Updated ProductDto details
    }
  • Security: Bearer Token (JWT)

Delete Product

  • Endpoint: /products/{productId}
  • Method: DELETE
  • Parameters:
    • {productId}: Product ID (String)
  • Response:
    {
      "message": "Product deleted successfully",
      "success": true
    }
  • Security: Bearer Token (JWT)

Get All Products

  • Endpoint: /products
  • Method: GET
  • Response:
    {
      // List of ProductDto
    }
  • Security: Bearer Token (JWT)

Create Product

  • Endpoint: /products
  • Method: POST
  • Request Body:
    {
      // ProductDto details
    }
  • Response:
    {
      // ProductDto details of the created product
    }
  • Security: Bearer Token (JWT)

Serve Product Image

  • Endpoint: /products/{productId}/image
  • Method: GET
  • Parameters:
    • {productId}: Product ID (String)
  • Response:
    • Product image (Binary)

Upload Product Image

  • Endpoint: /products/{productId}/image
  • Method: POST
  • Parameters:
    • {productId}: Product ID (String)
  • Request Body:
    • Image file (multipart/form-data)
  • Response:
    {
      "message": "Image uploaded successfully",
      "success": true
    }
  • Security: Bearer Token (JWT)

Search Products

  • Endpoint: /products/search
  • Method: POST
  • Request Body:
    {
      // Search criteria
    }
  • Response:
    {
      // List of ProductDto matching the search criteria
    }
  • Security: Bearer Token (JWT)

Get All Live Products

  • Endpoint: /products/live
  • Method: GET
  • Response:
    {
      // List of live ProductDto
    }
  • Security: Bearer Token (JWT)

Order Operations

Update Order

  • Endpoint: /orders/{orderId}
  • Method: PUT
  • Parameters:
    • {orderId}: Order ID (String)
  • Request Body:
    {
      // OrderDto details
    }
  • Response:
    {
      // Updated OrderDto details
    }
  • Security: Bearer Token (JWT)

Remove Order

  • Endpoint: /orders/{orderId}
  • Method: DELETE
  • Parameters:
    • {orderId}: Order ID (String)
  • Response:
    {
      "message": "Order removed successfully",
      "success": true
    }
  • Security: Bearer Token (JWT)

Get Orders

  • Endpoint: /orders
  • Method: GET
  • Response:
    {
      // List of OrderDto
    }
  • Security: Bearer Token (JWT)

Create Order

  • Endpoint: /orders
  • Method: POST
  • Request Body:
    {
      // OrderDto details
    }
  • Response:
    {
      // OrderDto details of the created order
    }
  • Security: Bearer Token (JWT)

Get Orders of User

  • Endpoint: /orders/user/{userId}
  • Method: GET
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      // List of OrderDto for the user
    }

Category Operations

Get Single Category

  • Endpoint: /categories/{categoryId}
  • Method: GET
  • Parameters:
    • {categoryId}: Category ID (String)
  • Response:
    {
      // CategoryDto details
    }
    
    

Get All Categories

  • Endpoint: /categories
  • Method: GET
  • Response:
    {
      // List of CategoryDto
    }

Create Category

  • Endpoint: /categories
  • Method: POST
  • Request Body:
    {
      // CategoryDto details
    }
  • Response:
    {
      // CategoryDto details of the created category
    }
  • Security: Bearer Token (JWT)

Update Category

  • Endpoint: /categories/{categoryId}
  • Method: PUT
  • Parameters:
    • {categoryId}: Category ID (String)
  • Request Body:
    {
      // CategoryDto details
    }
  • Response:
    {
      // Updated CategoryDto details
    }
  • Security: Bearer Token (JWT)

Delete Category

  • Endpoint: /categories/{categoryId}
  • Method: DELETE
  • Parameters:
    • {categoryId}: Category ID (String)
  • Response:
    {
      "message": "Category deleted successfully",
      "success": true
    }
  • Security: Bearer Token (JWT)

backendcode_project's People

Contributors

saurabh-maurya0 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.