Skip to content

web-based e-commerce application, built using HTML5, CSS3, JavaScript, Servlets, JSP, AJAX, JPA, Hibernate, and MySQL. It offers both administrator and user functionalities, providing a complete solution for managing products, orders, and customer interactions.

Notifications You must be signed in to change notification settings

nourhan1998-n/Veges-Food-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veges Food - A Simple E-Commerce Web Application for Vegetables & Fruits

Project Overview

Veges Food is a web-based e-commerce application specifically designed for selling Vegetables & Fruits. This project was built to evaluate and apply various web development technologies, including:

  • Client-Side Technologies: HTML5, CSS3, JavaScript
  • Backend Technologies: Servlets & JSP
  • Asynchronous Development: AJAX
  • Object-Relational Mapping (ORM): JPA & Hibernate
  • Database: MySQL

The project supports both administrator and user functionalities, providing a complete e-commerce solution.


Table of Contents


Main Features

General Features

  • Home Page: A welcoming home page accessible to all users.
  • User Privileges: Different pages and functionalities are available based on user roles (Admin/User).

Administrator Functions

  • Manage Products: View, add, edit, and remove products, managing All Products Details.
  • Review Customer Profiles: View and review all registered customer profiles.
  • Review Customer Orders: View and review all customer Orders.
  • All Admin Pages contain Pagination for Easier browsing

User Functions

  • User Registration: Sign up with profile data including name, birthday, password, job, email, credit limit, address, and interests.
  • User Login: Sign in using email and password.
  • Edit Profile: Update profile information at any time.
  • Browse Products: View all available Vegetables & Fruits.
  • Filtering Products: Filtering all products based on their specs.
  • Shopping Cart: Add or remove products from the shopping cart, update quantities, and virtually purchase items within the credit limit.
  • Purchase(Payment Gateway): Upon purchase, the user is redirected to a paymob payment gateway to enter his credit card credintials, upon success the order status changes to be paid.

Technologies Used

Backend

  • Java Servlets & JSP: Core server-side logic.
  • JPA/Hibernate: Object-Relational Mapping and connection pooling for database operations.

Database

  • MySQL: Stores user, product, and transaction details.

Asynchronous Development

  • AJAX & JavaScript: Implemented asynchronous features for enhanced user interactions.

Frontend

  • HTML5: Structuring the web pages.
  • CSS3: Styling the application with a responsive, mobile-first approach.
  • JavaScript & JQuery: Client-side validation and dynamic UI updates.

Installation

Prerequisites

  • Java JDK: Version 8 or higher
  • Apache Tomcat: (or any servlet container)
  • MySQL: Database server
  • Maven: For managing dependencies

Steps

  1. Clone the Repository bash git clone https://github.com/your-username/Ecommerce-ITI.git cd Ecommerce-ITI

  2. Configure the MySQL Database

    • Create a new database in MySQL.
    • Update the database connection settings in persistence.xml or hibernate.cfg.xml with your database credentials.
  3. Build the Project Using Maven bash mvn clean install

  4. Deploy the Project on Apache Tomcat

    • Copy the generated .war file from the target directory to the webapps folder of your Tomcat installation.
  5. Access the Application


Usage

Admin Panel

  • Login: Admin logs in using predefined credentials (configured in the database).
  • Manage Products: Admin can add, edit, or delete laptops and view customer profiles.

User Panel

  • Sign Up & Profile Management: New users sign up with personal information and set a credit limit.
  • View Products: Browse available laptops and add them to the shopping cart.
  • Shopping Cart: Manage cart items, adjust quantities, and proceed to checkout.

Asynchronous Features

  1. Username Availability Check

    • While registering, users can check if their desired username (email) is available without page refresh.
  2. Shopping Cart Updates

    • Users can add, remove, or update product quantities in their cart asynchronously, ensuring a smooth user experience without reloading the page.

Future Enhancements

  • User Reviews & Ratings

    • Allow users to leave reviews and ratings for products.
  • Product Recommendations

    • Implement a recommendation engine based on user interests and browsing history.
  • Email Notifications

    • Send order confirmations and updates to users via email.

Contributers

  • Nourhan Elsherbiny
  • Mina Ashraf
  • Ahmed Hamdy

Contact

For any inquiries or support, please reach out to

About

web-based e-commerce application, built using HTML5, CSS3, JavaScript, Servlets, JSP, AJAX, JPA, Hibernate, and MySQL. It offers both administrator and user functionalities, providing a complete solution for managing products, orders, and customer interactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published