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.
- Main Features
- Technologies Used
- Installation
- Usage
- Asynchronous Features
- Bonus Features
- Future Enhancements
- Contributing
- Contact
- Home Page: A welcoming home page accessible to all users.
- User Privileges: Different pages and functionalities are available based on user roles (Admin/User).
- 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 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.
- Java Servlets & JSP: Core server-side logic.
- JPA/Hibernate: Object-Relational Mapping and connection pooling for database operations.
- MySQL: Stores user, product, and transaction details.
- AJAX & JavaScript: Implemented asynchronous features for enhanced user interactions.
- HTML5: Structuring the web pages.
- CSS3: Styling the application with a responsive, mobile-first approach.
- JavaScript & JQuery: Client-side validation and dynamic UI updates.
- Java JDK: Version 8 or higher
- Apache Tomcat: (or any servlet container)
- MySQL: Database server
- Maven: For managing dependencies
-
Clone the Repository bash git clone https://github.com/your-username/Ecommerce-ITI.git cd Ecommerce-ITI
-
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.
-
Build the Project Using Maven bash mvn clean install
-
Deploy the Project on Apache Tomcat
- Copy the generated .war file from the target directory to the webapps folder of your Tomcat installation.
-
Access the Application
- Navigate to http://localhost:8080/ecommerce in your web browser.
- Login: Admin logs in using predefined credentials (configured in the database).
- Manage Products: Admin can add, edit, or delete laptops and view customer profiles.
- 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.
-
Username Availability Check
- While registering, users can check if their desired username (email) is available without page refresh.
-
Shopping Cart Updates
- Users can add, remove, or update product quantities in their cart asynchronously, ensuring a smooth user experience without reloading the page.
-
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.
- Nourhan Elsherbiny
- Mina Ashraf
- Ahmed Hamdy
For any inquiries or support, please reach out to