Skip to content

E-Commerce Web Application for Shopping Electronics implemented in Java using Spring Framework and RESTful WebServices

Notifications You must be signed in to change notification settings

riya3110/Shopfam_Training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shopfam_Training

Table of Content

  • Demo

  • Overview

  • Features

  • Technical Aspects

  • Installation

  • Technologies used

    Demo

    Frontend

    Login Page fronend_0

    Home Page frontend_1

    Categories Page frontend_2

    Categories Page frontend_3

    Product Details Page frontend_4

    Shopping Cart Page frontend_5

    Email Handler Page frontend_6

    Backend

    Login Page backend_1

    Users Page backend_2

    Manage Categories Page backend_3

    Manage Brands Page backend_4

    Manage Products Page backend_5

    Manage Customers Page backend_6

    Manage Shipping Rates Page backend_7

    Manage Orders Page backend_8

    Manage Settings Page backend_9

    Create User Page backend_10

    Edit User Page backend_11

    Edit Categories Page backend_12

    Edit Products Page backend_13

    Overview

    Developed a complete shopping website using technologies such as Java , Spring Boot , Hibernate , Thymeleaf , Bootstrap , JQuery , HTML , RESTful Webservices.... putting all these peices together built a WebApp named Shopfam - An E-Commerce Web Application for Shopping Electronics

    Features

    • Register a new account and log in as an existing user
    • Register using Google Account log in
    • Search Products using keyword and/or Category
    • Display products with details about them(name , picture , image , price)
    • Add Produt to shopping cart and ability to remove it
    • See all products in user's shopping cart
    • Sign out or delete user's account
    • Update Password
    • Update the user's Shipping Address and/or Remove the address
    • Get the Google mail for customer registration and Verification
    • Track status of user's orders

    Technical Aspects

    The working of the project has 2 project directories which are explained one after other in sequence

    • ShopfamWebParent the spring starter project , a subdirectory under the directory of Shopfam project by creating a new folder as a module 2 of shopfamProject the purpose of this project is to have the common dependencies between the two sub projects ( backend and frontend)

    • Backend - This is an admin App

      • In the Backend their are 7 type of users which will have acces to application-
        • Admin - manages everything on websites including manage settings and manage users.
        • Editor - manage categories , manage articles , manage brands , manage menus, manage products
        • Salesperson - manage orders, customers, update product price , view products , manage shipping rates.
        • SHIPPER- view products , view orders , update order status
        • Assistant - manage questions , reviews
    • FrontEnd - This is Shopping App (The Shopping UI for Customers)

      • In the Front end customers can-
        • Manage Shopping cart
        • View products
        • View articles
        • Manage addresses
        • Checkout
    • ShopfamCommon The spring starter project , a subdirectory under the directory of Shopfam Project by creating a new folder . The project shopfam Common is for developing the shared lib or shared code between the backend and frontend the shopfam common project will have entity classes which are based on spring data JPA

      • Use packaging as JAR
      • Build type is Maven
      • Use dependency Spring Data JPA

    Installation

    The code is written in Java 17 , Spring Boot 3.2.0

    Technologies Used

    • Spring Framework development with Spingboot
    • Spring Data JPA and Hibernate Framework
    • Spring Security for Authentication and Authorization
    • Spring OAuth for social login with Google
    • Thymeleaf template engine for creating dynamic web pages
    • MySQL database for database Management of the project
    • Spring Mail for sending customer Registration confirmation and order cofirmation
    • JUnit ,Spring Test, AssertJ and Mockito in unit tests and Integration tests
    • Spring RESTful WebServices
    • Bootstrap 4 , HTML5 and jQuery 3
    • Java 17 , JSP/Servlets and JavaScript