Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srimani-7/quickcart
This project aims to develop a e-commerce application like Amazon for both buyers and sellers. The core functionalities for buyers include browsing products, adding products to cart, checkout, and payment processing. Sellers can add products, manage inventory, and fulfill orders.
https://github.com/srimani-7/quickcart
dao-design-pattern eclipse java javaee maven mvc-architecture mysql servlet-mvc
Last synced: 24 days ago
JSON representation
This project aims to develop a e-commerce application like Amazon for both buyers and sellers. The core functionalities for buyers include browsing products, adding products to cart, checkout, and payment processing. Sellers can add products, manage inventory, and fulfill orders.
- Host: GitHub
- URL: https://github.com/srimani-7/quickcart
- Owner: SriMani-7
- Created: 2024-08-29T18:53:46.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-14T12:08:57.000Z (24 days ago)
- Last Synced: 2024-10-14T20:40:39.636Z (24 days ago)
- Topics: dao-design-pattern, eclipse, java, javaee, maven, mvc-architecture, mysql, servlet-mvc
- Language: Java
- Homepage: https://srimani-7.github.io/QuickCart/
- Size: 448 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Welcome to QuickCart
## Tech Stack
- **Backend:**
- **Java EE:** Enterprise Edition for building robust web applications.
- **Servlet:** Java API for handling HTTP requests and responses.
- **Tomcat:** An open-source implementation of the Java Servlet, JavaServer Pages (JSP), and Java Expression Language (EL) technologies.- **Frontend:**
- **HTML:** Markup language for creating web pages.
- **CSS (Bootstrap):** Framework for responsive and modern web design.
- **JSP (JavaServer Pages):** Technology for creating dynamic web content.- **Database:**
- **MySQL:** Open-source relational database management system.- **Testing:**
- **JUnit:** Framework for unit testing Java applications.- **Logging:**
- **log4j-web:** Library for logging application behavior and errors.
- **Logfile Location:** [applicationLogs.log](C:\QuickCart\applicationLogs.log)## Architecture Diagram
The architecture diagram below illustrates the communication between different layers of the QuickCart application:
```mermaid
---
title: Communication Between Layers
---
graph
view["View (HTML/CSS/JSP)"]
controller["Controller (Servlets)"]
service["Service Layer"]
dao["DAO Layer"]
database["Database (MySQL)"]view --Requests--> controller
controller --ServiceFactory--> service
service --DAOFactory--> dao
dao --DataSource (JDBC)--> database
```## Explanation
### 1. **View Layer**
- **Responsibilities:** Displays the user interface and interacts with the user.
- **Technologies:** HTML, CSS (Bootstrap), JSP.### 2. **Controller Layer**
- **Responsibilities:** Handles incoming HTTP requests, processes user input, and coordinates responses.
- **Technologies:** Servlets.### 3. **Service Layer**
- **Responsibilities:** Contains business logic and interacts with the DAO layer to perform data operations.
- **Technologies:** implemented using business service classes.### 4. **DAO Layer**
- **Responsibilities:** Manages data access operations. Implements data access objects (DAOs) to interact with the database.
- **Technologies:** JDBC (Java Database Connectivity), DAO interfaces and implementations.### 5. **Database**
- **Responsibilities:** Stores application data.
- **Technologies:** MySQL, relational database management system.## Logging
- **Log4j Configuration:** The application uses log4j for logging. Logs are written to a file specified in the configuration.
- **Logfile Location:** [applicationLogs.log](C:\QuickCart\applicationLogs.log)