|
|
|
---
|
|
|
|
title: Body
|
|
|
|
---
|
|
|
|
|
|
|
|
# Farmer Zomato Project Documentation
|
|
|
|
|
|
|
|
## Project Overview
|
|
|
|
|
|
|
|
**Purpose**: This app facilitates the connection between local farmers and consumers, allowing consumers to purchase fresh, locally sourced produce while supporting local agriculture. It includes features for user registration, browsing products, placing orders, and reviewing farmers.
|
|
|
|
|
|
|
|
Our project addresses the pressing issue of disconnect between local farmers and consumers, which often results in limited access to fresh produce and reduced income for farmers. Many consumers struggle to find high-quality, locally sourced food, while farmers face challenges in reaching their target markets. By creating a web application that connects local farmers directly with consumers, we aim to facilitate a more efficient supply chain that benefits both parties.
|
|
|
|
|
|
|
|
### Unique Benefits and Features
|
|
|
|
The usefulness and novelty of our project lie in its direct approach to connecting consumers with local food sources. Unlike existing grocery delivery services that often prioritize large-scale suppliers, our platform emphasizes the importance of local farms and the freshness of their products. By showcasing farmer profiles and seasonal offerings, we provide a unique shopping experience that encourages users to support their community.
|
|
|
|
|
|
|
|
### Platform Choice
|
|
|
|
We chose to develop this application as a web platform due to its broad accessibility. Users can access the site from any device with internet connectivity, whether they are at home or on the go. A web app allows for easy updates and scalability, making it an ideal choice for a project that aims to grow alongside local farming communities.
|
|
|
|
|
|
|
|
### Societal Benefits
|
|
|
|
The societal benefits of our project are significant. By connecting consumers directly with local farmers, we not only promote the consumption of fresh, healthy food but also support local economies. This initiative encourages sustainable agricultural practices and reduces the environmental impact associated with long-distance food transportation.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Functional Properties (FPs)
|
|
|
|
|
|
|
|
1. **User Registration and Profiles**: Users can create accounts and set up profiles to save preferences, order history, and payment methods. This feature provides a personalized shopping experience.
|
|
|
|
2. **Product Catalog and Search**: The application provides a comprehensive catalog of available products, sortable by categories such as *fruits*, *vegetables*, *dairy*, and *meats*. Users can search for specific items, filtering by location, availability, and price.
|
|
|
|
3. **Order Management**: Users can add products to their cart, review selections, and place orders. This includes functionalities for tracking order status and managing past orders.
|
|
|
|
4. **Payment Processing**: The platform securely handles various payment methods, allowing users to pay for purchases directly through the application.
|
|
|
|
5. **Farmer Profiles and Reviews**: Users can view profiles of participating farmers, including their farming practices and product offerings. They can also leave reviews and ratings based on their experiences.
|
|
|
|
|
|
|
|
**Justifications**:
|
|
|
|
- **User Registration and Profiles**: Enhances user engagement by personalizing the shopping experience, making it easier for users to return and reorder.
|
|
|
|
- **Product Catalog and Search**: Ensures users can easily find and access the products they need, promoting efficient shopping and reducing frustration.
|
|
|
|
- **Order Management**: Streamlines the purchasing process, making it user-friendly and encouraging repeat purchases.
|
|
|
|
- **Payment Processing**: Provides a secure and convenient way for users to complete their transactions, building trust in the platform.
|
|
|
|
- **Farmer Profiles and Reviews**: Creates transparency, allowing consumers to make informed decisions and fostering a connection between farmers and customers.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Use Case Model: PureRoots
|
|
|
|
|
|
|
|
Diagram in the file
|
|
|
|
|
|
|
|
**Purpose**: This app facilitates the connection between local farmers and consumers, allowing consumers to purchase fresh, locally sourced produce while supporting local agriculture.
|
|
|
|
|
|
|
|
### Actors
|
|
|
|
- **User (Consumer)**: Registers, browses the product catalog, places orders, and leaves reviews for farmers.
|
|
|
|
- **Database**: Stores user profiles, product information, cart details, and order histories.
|
|
|
|
- **Payment Gateway**: Processes payments securely for orders.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Use Case Scenarios
|
|
|
|
|
|
|
|
### 1. **User Registration and Login**
|
|
|
|
- **Primary Actor**: User
|
|
|
|
- **Goal**: Register and log in to access profile and order history.
|
|
|
|
- **Description**:
|
|
|
|
- Users can register by providing necessary information.
|
|
|
|
- After registration, they receive a confirmation email.
|
|
|
|
- Registered users log in to access their profile and past orders.
|
|
|
|
- **Relationships**:
|
|
|
|
- **Include**: *Validate Credentials*, *Send Confirmation Email*
|
|
|
|
- **Exclude**: *Access Restricted Features*
|
|
|
|
|
|
|
|
### 2. **View Product Catalog**
|
|
|
|
- **Primary Actor**: User
|
|
|
|
- **Goal**: View a catalog of available products.
|
|
|
|
- **Description**:
|
|
|
|
- Users can browse the catalog of products offered by various farmers.
|
|
|
|
- The catalog includes product details, images, and prices.
|
|
|
|
- **Relationships**:
|
|
|
|
- **Include**: *Search Product*, *Filter by Category*, *Sort by Price*
|
|
|
|
|
|
|
|
### 3. **Search and Filter Products**
|
|
|
|
- **Primary Actor**: User
|
|
|
|
- **Goal**: Search and filter products based on specific criteria.
|
|
|
|
- **Description**:
|
|
|
|
- Users can search for products by name, category, and other filters.
|
|
|
|
- Additional options allow sorting by price and filtering by availability.
|
|
|
|
- **Relationships**:
|
|
|
|
- **Include**: *Sort by Price*, *Filter by Availability*
|
|
|
|
|
|
|
|
### 4. **Order Management**
|
|
|
|
- **Primary Actor**: User
|
|
|
|
- **Goal**: Manage the shopping cart and place orders.
|
|
|
|
- **Description**:
|
|
|
|
- Users can add items to the cart, view the cart, and proceed to checkout.
|
|
|
|
- Discounts are applied where applicable, and an order confirmation is generated.
|
|
|
|
- **Relationships**:
|
|
|
|
- **Include**: *Add to Cart*, *Calculate Total*, *Apply Discounts*, *Generate Order Confirmation*
|
|
|
|
- **Exclude**: *Edit Order*
|
|
|
|
|
|
|
|
### 5. **Process Payment**
|
|
|
|
- **Primary Actor**: Payment Gateway
|
|
|
|
- **Goal**: Handle payment processing for user orders.
|
|
|
|
- **Description**:
|
|
|
|
- Users enter payment details at checkout, which are validated for security.
|
|
|
|
- A payment confirmation is sent upon successful transaction.
|
|
|
|
- **Relationships**:
|
|
|
|
- **Include**: *Validate Payment Details*, *Send Payment Confirmation*
|
|
|
|
- **Exclude**: *Retry Payment*
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Quality Attributes (QAs)
|
|
|
|
|
|
|
|
1. **Usability**: The platform will feature an intuitive interface accessible to all users, with easy navigation, clear labeling, and accessible search options. User testing will be conducted, targeting a completion rate of 95% for new users.
|
|
|
|
2. **Performance**: The application will load within 2 seconds under standard conditions. Optimizations such as CDN usage and caching will be implemented for smooth browsing and checkout.
|
|
|
|
3. **Security**: Sensitive data will be protected through AES-256 encryption, and all transactions will comply with PCI-DSS standards. Regular security audits and encrypted payment gateways will enhance security.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Projected Members Contribution
|
|
|
|
|
|
|
|
### **Saumyaa Gelani**
|
|
|
|
- **Role**: Project Manager and Frontend Developer
|
|
|
|
- **Responsibilities**:
|
|
|
|
- Oversee project management and conduct weekly team meetings to track progress.
|
|
|
|
- Design wireframes and prototypes focusing on user-friendly and visually appealing interfaces.
|
|
|
|
- Implement frontend using HTML, CSS, and JavaScript frameworks (e.g., *React*).
|
|
|
|
- Conduct usability testing and incorporate feedback.
|
|
|
|
- Develop marketing materials and user guides.
|
|
|
|
|
|
|
|
### **Akshit Marwaha**
|
|
|
|
- **Role**: Backend Developer and Database Administrator
|
|
|
|
- **Responsibilities**:
|
|
|
|
- Develop and maintain server-side logic using Node.js or Python.
|
|
|
|
- Set up and manage the database, including schema design and data models.
|
|
|
|
- Implement security measures such as user authentication and data encryption.
|
|
|
|
- Monitor and optimize server performance.
|
|
|
|
|
|
|
|
### **Krish Sharma**
|
|
|
|
- **Role**: Quality Assurance and Testing Specialist
|
|
|
|
- **Responsibilities**:
|
|
|
|
- Develop and execute comprehensive test plans and test cases.
|
|
|
|
- Conduct usability testing sessions with target users.
|
|
|
|
- Monitor system performance and document any bugs or issues.
|
|
|
|
- Test security features to ensure data integrity and meet required standards.
|
|
|
|
|
|
|
|
### **Gokulhesh Khanna**
|
|
|
|
- **Role**: Documentation and API Integration Specialist
|
|
|
|
- **Responsibilities**:
|
|
|
|
- Organize and maintain project documentation.
|
|
|
|
- Collaborate with Akshit on API integration tasks.
|
|
|
|
- Manage the GitLab Wiki and update project documentation.
|
|
|
|
- Test newly integrated API features and verify accuracy.
|
|
|
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>Task Breakdown Table</title>
|
|
|
|
<style>
|
|
|
|
table {
|
|
|
|
width: 100%;
|
|
|
|
border-collapse: collapse;
|
|
|
|
margin: 20px 0;
|
|
|
|
font-size: 1em;
|
|
|
|
font-family: Arial, sans-serif;
|
|
|
|
}
|
|
|
|
table, th, td {
|
|
|
|
border: 1px solid #ddd;
|
|
|
|
padding: 8px;
|
|
|
|
}
|
|
|
|
th {
|
|
|
|
background-color: #f2f2f2;
|
|
|
|
font-weight: bold;
|
|
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
tr:nth-child(even) {
|
|
|
|
background-color: #f9f9f9;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<h2>Task Breakdown Table</h2>
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
|
|
<th>Tasks Accomplished</th>
|
|
|
|
<th>Major Contributor</th>
|
|
|
|
<th>Minor Contributors</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Project Description</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
<td>Akshit, Krish, Gokulhesh</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>UI UX designs on Figma</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
<td>Gokulhesh</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>GitLab Wiki Setup</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
<td>Krish, Gokulhesh</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Functional properties</td>
|
|
|
|
<td>Akshit, Gokulhesh</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Formulation of data on GitLab Wiki</td>
|
|
|
|
<td>NA</td>
|
|
|
|
<td>Saumyaa, Akshit, Krish</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>User Scenarios</td>
|
|
|
|
<td>Krish</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Quality Attributes</td>
|
|
|
|
<td>Krish</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>UML, ump, dot file</td>
|
|
|
|
<td>Saumyaa, Krish</td>
|
|
|
|
<td>Akshit, Krish</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Home Page</td>
|
|
|
|
<td>Akshit, Saumyaa</td>
|
|
|
|
<td>Krish</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Login Page</td>
|
|
|
|
<td>Krish</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Payment Gateway</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
<td>Gokulhesh</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Product & Collections</td>
|
|
|
|
<td>Gokulhesh</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Backend</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
<td>Krish, Gokulhesh, Saumyaa</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Pricing, Naming, Codes</td>
|
|
|
|
<td>Saumyaa</td>
|
|
|
|
<td>Krish</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html> |