|
|
---
|
|
|
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> |
|
|
Final Deliverable III
|
|
|
|
|
|
Required Links
|
|
|
GitLab - https://gitlab.com/AkshitMarwaha1000/purroots_project
|
|
|
Youtube - https://www.youtube.com/shorts/jFlHVF2ktgo
|
|
|
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
|
|
|
|
|
|
Describe your project
|
|
|
Problem Statement
|
|
|
Our project addresses a significant disconnect between local farmers and consumers, which often leads to limited access to fresh, locally sourced produce and reduced income opportunities for farmers. Many consumers face challenges finding high-quality, local food, while farmers struggle to reach target markets and effectively showcase their products.
|
|
|
Solution Overview
|
|
|
To bridge this gap, we are developing a web application that connects local farmers directly with consumers. This platform will streamline the food supply chain, allowing users to easily browse and purchase fresh produce, dairy, and meat products from nearby farms. By supporting local agriculture, we aim to provide healthier food options for consumers while enhancing farmers' access to local markets.
|
|
|
What Makes Us Unique
|
|
|
At Pure Roots, we’re transforming the way you experience fresh, local food. Here’s why we stand out:
|
|
|
1. Direct from Local Farmers
|
|
|
We connect you directly with local farmers, ensuring the freshest, seasonal produce and fair compensation for the growers. Every purchase supports your local agricultural community.
|
|
|
2. Freshness You Can Trust
|
|
|
Our products are sourced straight from the fields, reaching you with minimal handling and transport. It’s farm-to-table, as fresh as it gets.
|
|
|
3. Community-Centered Values
|
|
|
We’re more than a platform—we’re a movement to build stronger, more sustainable communities. By supporting local farmers, you help nurture the backbone of our food system.
|
|
|
5. Sustainable Choices
|
|
|
By sourcing locally, we reduce food miles and minimize our environmental footprint. Choosing Pure Roots is a step toward a greener, more sustainable future.
|
|
|
6. Customizable for Your Needs
|
|
|
Whether you’re shopping for fresh fruits, vegetables, dairy, or other local products, Pure Roots offers the flexibility to choose exactly what you need—no pre-packed constraints, just fresh, wholesome choices.
|
|
|
Featured Products
|
|
|
A carousel or grid showcasing popular items (e.g., “Fresh Tomatoes,” “Farm-Fresh Eggs”).
|
|
|
How It Works
|
|
|
Browse Products: Explore fresh, locally sourced items on our app or website.
|
|
|
Choose & Order: Pick what you need and place your order directly with local farmers.
|
|
|
Farm-Fresh Delivery: Enjoy fresh, sustainable produce delivered right to your doorstep.
|
|
|
About Us
|
|
|
Welcome to Pure Roots, your direct link to fresh, locally grown produce. We’re on a mission to empower farmers and bring the freshest, healthiest food to your doorstep. Our platform eliminates middlemen, ensuring fair prices for farmers and affordability for consumers.
|
|
|
At Pure Roots, we believe in:
|
|
|
Supporting Local Communities: Helping local farmers thrive.
|
|
|
Sustainability: Reducing food miles and environmental impact.
|
|
|
Transparency: Knowing where your food comes from.
|
|
|
Our Values
|
|
|
Freshness: Straight from farms to your table.
|
|
|
Fairness: Ensuring farmers get their due.
|
|
|
Community: Building connections between growers and consumers.
|
|
|
Architectural Model Diagram
|
|
|
The system architecture for Pure Roots is structured as follows:
|
|
|
Frontend (User Interface):
|
|
|
Devices Supported: Desktop, tablet, and smartphones.
|
|
|
Technologies Used:
|
|
|
HTML, CSS, JavaScript for structure and interactivity.
|
|
|
Bootstrap for responsive design ensuring usability across devices.
|
|
|
Swiper.js for creating engaging sliders for product showcasing.
|
|
|
Features:
|
|
|
User registration and login interface.
|
|
|
Product catalog with search, filter, and cart management options.
|
|
|
Farmer profiles with ratings and reviews.
|
|
|
Educational content on local farming and recipes.
|
|
|
Backend (Application Logic):
|
|
|
Technologies Used: Node.js with Express.js for a robust and scalable backend.
|
|
|
Programming Language: JavaScript.
|
|
|
Features:
|
|
|
User authentication and session management.
|
|
|
API endpoints for handling frontend requests.
|
|
|
Logic for cart operations, order tracking, and farmer data management.
|
|
|
Database (Data Storage):
|
|
|
Database Type: SQL using MySQL versions.
|
|
|
Features:
|
|
|
Secure storage for user profiles, product details, and order history.
|
|
|
Support for querying seasonal product availability and farmer information.
|
|
|
External Services:
|
|
|
Payment Gateway: Currently not functional but provision exists for future integration.
|
|
|
Map Integration: Can be added later for locating nearby farmers or tracking deliveries.
|
|
|
Notification Services: To be implemented for order confirmations or promotional updates.
|
|
|
Cloud Hosting:
|
|
|
Hosting Provider: GitLab.
|
|
|
Deployment: Continuous Integration/Continuous Deployment (CI/CD) pipeline for smooth updates and scaling.
|
|
|
Communication Protocols:
|
|
|
Frontend to Backend: HTTPS for secure communication.
|
|
|
Backend to Database: Secure queries with SSL/TLS encryption.
|
|
|
Backend to External Services (Future Scope): APIs with OAuth or token-based authentication.
|
|
|
Support for Functional and Quality Attributes
|
|
|
Functional Attributes
|
|
|
User Registration and Profiles: Enables users to create accounts, save preferences, and manage order history securely.
|
|
|
Product Catalog and Search: Allows efficient browsing and filtering of locally available products.
|
|
|
Order Management: Handles shopping cart functionalities and maintains a record of orders.
|
|
|
Farmer Profiles and Reviews: Highlights farmer practices and incorporates a review system for transparency.
|
|
|
Quality Attributes
|
|
|
Usability:
|
|
|
Designed with Bootstrap for intuitive navigation on all devices.
|
|
|
Easy-to-use sliders with Swiper.js enhance user engagement.
|
|
|
Performance:
|
|
|
Node.js ensures non-blocking, fast request processing.
|
|
|
Optimized MySQL queries for quick data retrieval.
|
|
|
Scalability:
|
|
|
GitLab hosting with CI/CD enables seamless scaling for future traffic.
|
|
|
Security:
|
|
|
HTTPS and TLS encryption safeguard sensitive user data.
|
|
|
Secure coding practices and session management to prevent unauthorized access.
|
|
|
Communication Protocols
|
|
|
Backend to Database: MySQL queries executed over a secure connection.
|
|
|
Backend to Future External Services: APIs secured with tokens or OAuth for authentication.
|
|
|
Status Report and Demo Summary for Pure Roots
|
|
|
Functionalities Implemented
|
|
|
User Registration and Profiles:
|
|
|
Users can successfully create accounts and manage basic profiles.
|
|
|
Product Catalog and Search:
|
|
|
A comprehensive catalog is available, sortable by categories, location, and price.
|
|
|
Functionalities Partially Implemented
|
|
|
Order Management:
|
|
|
Users can add items to the cart. However, order review and status tracking functionalities are only available on the frontend, with the backend integration yet to be enabled.
|
|
|
Functionalities Not Fully Implemented and Reasons
|
|
|
Farmer Profiles and Reviews:
|
|
|
Only one admin profile is currently enabled. Multiple farmer profiles were not implemented due to time constraints.
|
|
|
Payment Processing:
|
|
|
No payment methods have been activated. This feature was dropped because work on the payment gateway began only a week ago after the review meeting, leaving insufficient time for complete implementation.
|
|
|
Educational Resources:
|
|
|
Recipes and nutritional information were removed as they were deemed unnecessary for the current scope.
|
|
|
Seasonal Offerings:
|
|
|
Highlighting seasonal products was not implemented, as this feature was deprioritized due to its limited perceived value at this stage.
|
|
|
Real-Time Order Tracking:
|
|
|
This feature was not implemented due to time limitations and prioritization of other core functionalities.
|
|
|
Revised UML Diagram
|
|
|
|
|
|
Projected Members Contribution
|
|
|
|
|
|
Saumyaa Gelani
|
|
|
Role: Saumyaa will oversee project management and frontend development, ensuring that the application is user-friendly and visually appealing.
|
|
|
Responsibilities:
|
|
|
Oversee project management and conduct weekly team meetings to track progress, address challenges, and delegate tasks as needed.
|
|
|
Design wireframes and prototypes for the web application, focusing on a user-friendly and visually appealing interface.
|
|
|
Implement the frontend using HTML, CSS, and JavaScript frameworks (e.g., React), ensuring responsiveness and accessibility.
|
|
|
Conduct usability testing and incorporate user feedback into the design for continuous improvement.
|
|
|
Coordinate with Akshit to ensure seamless integration between frontend and backend components.
|
|
|
Develop marketing materials, user guides, and onboarding resources to assist users in navigating the platform.
|
|
|
Commit Frequency: Saumyaa will make at least two commits per week related to frontend features, design updates, and project management documentation.
|
|
|
|
|
|
|
|
|
Akshit Marwaha
|
|
|
Role: Akshit will focus on developing and maintaining the server-side logic of the application, ensuring robust and scalable backend functionality.
|
|
|
Responsibilities:
|
|
|
Develop and maintain the server-side logic using Node.js or Python to ensure robust and scalable backend functionality.
|
|
|
Set up and manage the database (e.g., PostgreSQL or MongoDB), including schema design, data models, and optimization.
|
|
|
Implement security measures such as user authentication, data encryption, and access control.
|
|
|
Collaborate closely with Saumyaa to facilitate frontend-backend integration, creating API endpoints for communication.
|
|
|
Monitor and optimize server performance to ensure reliability and speed, especially during high-traffic periods.
|
|
|
Develop system health checks and maintain a log of system performance to identify and troubleshoot potential issues.
|
|
|
Commit Frequency: Akshit will aim for at least three commits per week focused on backend functionalities, database updates, and API development.
|
|
|
|
|
|
Krish Sharma
|
|
|
Role: Krish will focus on ensuring the quality and reliability of the application through thorough testing and user feedback collection.
|
|
|
Responsibilities:
|
|
|
Develop and execute comprehensive test plans and test cases for both frontend and backend components to identify issues early.
|
|
|
Conduct usability testing sessions with target users, gathering feedback to improve the overall user experience.
|
|
|
Monitor system performance in real-time and document any bugs or issues, collaborating with Akshit on troubleshooting.
|
|
|
Test security features, including authentication flows and data integrity, to ensure they meet the required standards.
|
|
|
Document test results meticulously and maintain a backlog of identified bugs and issues for continuous tracking and resolution.
|
|
|
Engage with users to gather insights on pain points, refining testing strategies and ensuring continuous improvement.
|
|
|
|
|
|
|
|
|
Gokulhesh Khanna
|
|
|
Role: Gokulhesh will focus on ensuring the quality and reliability of the application through thorough testing and user feedback collection.
|
|
|
Responsibilities:
|
|
|
Organize and maintain project documentation, ensuring it is up-to-date and accessible for all team members.
|
|
|
Collaborate with Akshit on API integration tasks, assisting with endpoint testing and documentation for efficient use by frontend developers.
|
|
|
Work with Saumyaa to develop technical documentation and user guides that explain key features and functionalities to non-technical users.
|
|
|
Manage the GitLab Wiki and update project documentation, including usage instructions, FAQs, and technical guides.
|
|
|
Test newly integrated API features, verify response accuracy, and troubleshoot any inconsistencies.
|
|
|
Coordinate with Krish to validate API security measures, ensuring safe data exchange between frontend and backend.
|
|
|
Commit Frequency: Gokulhesh will aim for at least one commit per week focused on testing documentation, bug reports, and user feedback analysis.
|
|
|
Task Breakdown
|
|
|
Tasks Accomplished
|
|
|
Major Contributor
|
|
|
Minor Contributors
|
|
|
Project Description
|
|
|
Saumyaa
|
|
|
Akshit, Krish, Gokulhesh
|
|
|
UI UX designs on Figma
|
|
|
Saumyaa
|
|
|
Gokulhesh
|
|
|
GitLab Wiki Setup
|
|
|
Akshit
|
|
|
Krish, Gokulhesh
|
|
|
Functional properties
|
|
|
Akshit, Gokulhesh
|
|
|
Saumyaa
|
|
|
User Scenarios
|
|
|
Krish
|
|
|
Saumyaa
|
|
|
Quality Attributes
|
|
|
Krish
|
|
|
Akshit
|
|
|
UML, ump, dot file
|
|
|
Saumyaa, Krish
|
|
|
Akshit, Krish
|
|
|
Home Page
|
|
|
Akshit, Saumyaa
|
|
|
Krish
|
|
|
Login Page
|
|
|
Krish
|
|
|
Saumyaa
|
|
|
Product & Collections
|
|
|
Gokulhesh
|
|
|
Akshit
|
|
|
SQL, Node.js, and all backend
|
|
|
Akshit
|
|
|
Gokulhesh
|
|
|
Website Setup & Finalized Edits
|
|
|
Akshit
|
|
|
NA
|
|
|
Website Server Setup
|
|
|
Akshit
|
|
|
Gokulhesh
|
|
|
Pricing, Naming, Codes
|
|
|
Saumyaa
|
|
|
Krish
|
|
|
Image Collection for Website
|
|
|
Saumyaa, Gokulhesh
|
|
|
|
|
|
|
|
|
CSS HTML
|
|
|
Saumyaa
|
|
|
Akshit, Krish, Gokulhesh
|
|
|
Video Shoot
|
|
|
Saumyaa
|
|
|
Akshit
|
|
|
Video Editing
|
|
|
Saumyaa
|
|
|
NA
|
|
|
UML Diagram
|
|
|
Saumyaa
|
|
|
NA
|
|
|
Presentation
|
|
|
Krish, Gokulhesh
|
|
|
Saumyaa
|
|
|
Video Script Writing
|
|
|
Saumyaa
|
|
|
Akshit
|
|
|
Architectural Model Diagram
|
|
|
Saumyaa, Gokulhesh
|
|
|
|
|
|
|
|
|
Architectural System
|
|
|
Saumyaa, Gokulhesh
|
|
|
Krish
|
|
|
|
|
|
|
|
|
Proposed Project
|
|
|
Unique Features and Benefits
|
|
|
Our platform stands out by prioritizing local farms over large-scale suppliers, thereby ensuring product freshness and fostering a community-oriented shopping experience. Key features include:
|
|
|
Farmer Profiles: Detailed profiles that highlight each farmer’s practices and offerings, helping consumers make informed purchasing decisions.
|
|
|
Seasonal Offerings: A catalog of products available seasonally, supporting sustainable agricultural practices.
|
|
|
Educational Components: Added value through recipes, nutritional information, and educational resources that promote healthier eating habits and inform consumers about local food sources.
|
|
|
Platform Choice
|
|
|
We have chosen a web-based platform for its accessibility and scalability. Users can access the application from any device with internet connectivity, whether at home or on the go. A web platform allows for easy updates and growth alongside local farming communities, supporting key features such as:
|
|
|
Payment Processing: A secure and streamlined payment experience.
|
|
|
Order Tracking: Real-time tracking for order fulfillment and delivery.
|
|
|
Customer Reviews: A feedback system to encourage transparency and trust within the community.
|
|
|
Societal Impact
|
|
|
Our project has substantial societal benefits, including:
|
|
|
Supporting Local Economies: By creating a direct market for local farmers, we contribute to the economic resilience of rural communities.
|
|
|
Promoting Sustainable Agriculture: Encouraging local sourcing reduces the environmental impact associated with long-distance food transportation.
|
|
|
Building Community Connections: The platform fosters a sense of community around local food systems, raising awareness about sustainable practices and strengthening social ties.
|
|
|
Requirements Statement
|
|
|
The project addresses the disconnect between local farmers and consumers, which often results in limited access to fresh, locally sourced produce and reduced income for farmers. Consumers struggle to find high-quality local food, while farmers face difficulties in reaching their target market. This web application will directly connect consumers with local farmers, facilitating a more efficient and sustainable food supply chain. The platform will feature user registration, product catalogs, order management, payment processing, and farmer profiles with reviews.
|
|
|
Functional properties (FPs)
|
|
|
User Registration and Profiles: Users can create accounts and set up profiles to save their preferences, order history, and payment methods. This feature allows for a personalized shopping experience.
|
|
|
Product Catalog and Search: The application will provide a comprehensive catalog of available products, sortable by categories such as fruits, vegetables, dairy, and meats. Users can also search for specific items, filtering by location, availability, and price.
|
|
|
Order Management: Users can add products to their cart, review their selections, and place orders. This includes functionalities for tracking order status and managing past orders.
|
|
|
Payment Processing: The platform will securely handle various payment methods, enabling users to pay for their purchases directly through the application.
|
|
|
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 enhance user engagement by personalizing the shopping experience, making it easier for users to return and reorder.
|
|
|
Product Catalog and Search ensures that 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, which is critical for building trust in the platform.
|
|
|
Farmer Profiles and Reviews create transparency, allowing consumers to make informed decisions and fostering a connection between farmers and customers.
|
|
|
|
|
|
UML DIAGRAM
|
|
|
|
|
|
Use Case Model
|
|
|
User Registration
|
|
|
Actors: Consumer
|
|
|
Preconditions: User has internet access.
|
|
|
Postconditions: User has an account and can log in.
|
|
|
Main Flow:
|
|
|
User navigates to the sign-in/ sign-up page.
|
|
|
User fills out the registration form (name, email, password).
|
|
|
User submits the form.
|
|
|
System confirms registration and directs the user to their profile.
|
|
|
Product Search and Order Placement
|
|
|
Actors: Consumer
|
|
|
Preconditions: User is logged in.
|
|
|
Postconditions: User has successfully placed an order.
|
|
|
Main Flow:
|
|
|
User navigates to the product catalog.
|
|
|
User searches for a specific product or browses categories.
|
|
|
User adds desired items to the cart.
|
|
|
User reviews the cart and proceeds to checkout.
|
|
|
User enters payment information and confirms the order.
|
|
|
Farmer Profile and Review
|
|
|
Actors: Consumer
|
|
|
Preconditions: User is logged in and has purchased from a farmer.
|
|
|
Postconditions: User has submitted a review.
|
|
|
Main Flow:
|
|
|
User navigates to the farmer’s profile page.
|
|
|
User reads information about the farmer and their practices.
|
|
|
User clicks on the review section.
|
|
|
User submits a rating and a written review.
|
|
|
System updates the farmer’s profile with the new review.
|
|
|
Functional properties (FPs)
|
|
|
User Registration and Profiles: Users can create accounts and set up profiles to save their preferences, order history, and payment methods. This feature allows for a personalized shopping experience.
|
|
|
Product Catalog and Search: The application will provide a comprehensive catalog of available products, sortable by categories such as fruits, vegetables, dairy, and meats. Users can also search for specific items, filtering by location, availability, and price.
|
|
|
Order Management: Users can add products to their cart, review their selections, and place orders. This includes functionalities for tracking order status and managing past orders.
|
|
|
Payment Processing: The platform will securely handle various payment methods, enabling users to pay for their purchases directly through the application.
|
|
|
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.
|
|
|
USE CASE MODEL: Pureroots
|
|
|
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.
|
|
|
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
|
|
|
6. View Farmer Profiles and Reviews
|
|
|
Primary Actor: User
|
|
|
Goal: View details about farmers and their reviews.
|
|
|
Description:
|
|
|
Users can view farmer profiles, including their farming practices, product offerings, and customer reviews.
|
|
|
Relationships:
|
|
|
Include: View Farming Practices, View Product Offerings
|
|
|
7. Leave Review
|
|
|
Primary Actor: User
|
|
|
Goal: Leave reviews and ratings for farmers after purchasing products.
|
|
|
Description:
|
|
|
After receiving an order, users can submit a rating and comment to review the farmer.
|
|
|
Relationships:
|
|
|
Include: Submit Rating, Submit Comment
|
|
|
Exclude: Edit Review
|
|
|
Detailed Use Case Relationships
|
|
|
Include Relationships (<<include>>)
|
|
|
User Registration and Login includes Validate Credentials and Send Confirmation Email.
|
|
|
View Product Catalog includes Search Product, Filter by Category, and Sort by Price.
|
|
|
Order Management includes Add to Cart, Calculate Total, Apply Discounts, and Generate Order Confirmation.
|
|
|
Process Payment includes Validate Payment Details and Send Payment Confirmation.
|
|
|
View Farmer Profiles and Reviews includes View Farming Practices and View Product Offerings.
|
|
|
Leave Review includes Submit Rating and Submit Comment.
|
|
|
Exclude Relationships (<<exclude>>)
|
|
|
User Registration and Login excludes Access Restricted Features.
|
|
|
Order Management excludes Edit Order.
|
|
|
Process Payment excludes Retry Payment.
|
|
|
Leave Review excludes Edit Review.
|
|
|
|
|
|
Quality Attributes
|
|
|
Quality Attributes (QAs)
|
|
|
Usability
|
|
|
Performance
|
|
|
Security
|
|
|
Usability
|
|
|
Usability is crucial for our web application as it directly affects user satisfaction and engagement. The platform should have an intuitive interface that allows users of all ages and technological backgrounds to navigate easily. Features like clear labeling, straightforward navigation, and accessible search options will enhance the overall user experience. If the system is not user-friendly, potential customers may become frustrated and abandon the site, leading to lost sales and a negative perception of the service. To support usability, we will conduct user testing and incorporate feedback during the development phase, ensuring that our design meets the needs of our target audience.
|
|
|
Performance
|
|
|
Performance is another key quality attribute that our system must support. The application should load quickly, with minimal latency during browsing, searching, and checkout processes. Slow performance can deter users from completing purchases, particularly when they are comparing options or in a hurry. We will optimize the application’s backend and frontend, ensuring efficient database queries and responsive design. Implementing a content delivery network (CDN) and utilizing caching strategies will also enhance performance. A high-performing system contributes positively to user retention and satisfaction, while poor performance could lead to increased bounce rates and lost revenue.
|
|
|
Security
|
|
|
Security is a non-negotiable quality attribute for our web application, especially given that it involves handling sensitive user data, including personal information and payment details. The system must incorporate robust security measures, such as data encryption, secure payment gateways, and regular security audits, to protect against data breaches and cyberattacks. By prioritizing security, we build trust with our users, which is vital for long-term success. A lapse in security could have severe negative consequences, including loss of user trust, legal repercussions, and financial liability. |