|
---
|
|
---
|
|
title: Body
|
|
title: Body
|
|
---
|
|
---
|
|
|
|
Final Deliverable III
|
|
# Farmer Zomato Project Documentation
|
|
|
|
|
|
Required Links
|
|
## Project Overview
|
|
GitLab - https://gitlab.com/AkshitMarwaha1000/purroots_project
|
|
|
|
Youtube - https://www.youtube.com/shorts/jFlHVF2ktgo
|
|
**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.
|
|
Describe your project
|
|
|
|
Problem Statement
|
|
### Unique Benefits and Features
|
|
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.
|
|
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.
|
|
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.
|
|
### Platform Choice
|
|
What Makes Us Unique
|
|
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.
|
|
At Pure Roots, we’re transforming the way you experience fresh, local food. Here’s why we stand out:
|
|
|
|
1. Direct from Local Farmers
|
|
### Societal Benefits
|
|
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.
|
|
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.
|
|
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.
|
|
## Functional Properties (FPs)
|
|
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.
|
|
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.
|
|
6. Customizable for Your Needs
|
|
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.
|
|
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.
|
|
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.
|
|
Featured Products
|
|
4. **Payment Processing**: The platform securely handles various payment methods, allowing users to pay for purchases directly through the application.
|
|
A carousel or grid showcasing popular items (e.g., “Fresh Tomatoes,” “Farm-Fresh Eggs”).
|
|
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.
|
|
How It Works
|
|
|
|
Browse Products: Explore fresh, locally sourced items on our app or website.
|
|
**Justifications**:
|
|
Choose & Order: Pick what you need and place your order directly with local farmers.
|
|
- **User Registration and Profiles**: Enhances user engagement by personalizing the shopping experience, making it easier for users to return and reorder.
|
|
Farm-Fresh Delivery: Enjoy fresh, sustainable produce delivered right to your doorstep.
|
|
- **Product Catalog and Search**: Ensures users can easily find and access the products they need, promoting efficient shopping and reducing frustration.
|
|
About Us
|
|
- **Order Management**: Streamlines the purchasing process, making it user-friendly and encouraging repeat purchases.
|
|
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.
|
|
- **Payment Processing**: Provides a secure and convenient way for users to complete their transactions, building trust in the platform.
|
|
At Pure Roots, we believe in:
|
|
- **Farmer Profiles and Reviews**: Creates transparency, allowing consumers to make informed decisions and fostering a connection between farmers and customers.
|
|
Supporting Local Communities: Helping local farmers thrive.
|
|
|
|
Sustainability: Reducing food miles and environmental impact.
|
|
---
|
|
Transparency: Knowing where your food comes from.
|
|
|
|
Our Values
|
|
## Use Case Model: PureRoots
|
|
Freshness: Straight from farms to your table.
|
|
|
|
Fairness: Ensuring farmers get their due.
|
|
Diagram in the file
|
|
Community: Building connections between growers and consumers.
|
|
|
|
Architectural Model Diagram
|
|
**Purpose**: This app facilitates the connection between local farmers and consumers, allowing consumers to purchase fresh, locally sourced produce while supporting local agriculture.
|
|
The system architecture for Pure Roots is structured as follows:
|
|
|
|
Frontend (User Interface):
|
|
### Actors
|
|
Devices Supported: Desktop, tablet, and smartphones.
|
|
- **User (Consumer)**: Registers, browses the product catalog, places orders, and leaves reviews for farmers.
|
|
Technologies Used:
|
|
- **Database**: Stores user profiles, product information, cart details, and order histories.
|
|
HTML, CSS, JavaScript for structure and interactivity.
|
|
- **Payment Gateway**: Processes payments securely for orders.
|
|
Bootstrap for responsive design ensuring usability across devices.
|
|
|
|
Swiper.js for creating engaging sliders for product showcasing.
|
|
---
|
|
Features:
|
|
|
|
User registration and login interface.
|
|
## Use Case Scenarios
|
|
Product catalog with search, filter, and cart management options.
|
|
|
|
Farmer profiles with ratings and reviews.
|
|
### 1. **User Registration and Login**
|
|
Educational content on local farming and recipes.
|
|
- **Primary Actor**: User
|
|
Backend (Application Logic):
|
|
- **Goal**: Register and log in to access profile and order history.
|
|
Technologies Used: Node.js with Express.js for a robust and scalable backend.
|
|
- **Description**:
|
|
Programming Language: JavaScript.
|
|
- Users can register by providing necessary information.
|
|
Features:
|
|
- After registration, they receive a confirmation email.
|
|
User authentication and session management.
|
|
- Registered users log in to access their profile and past orders.
|
|
API endpoints for handling frontend requests.
|
|
- **Relationships**:
|
|
Logic for cart operations, order tracking, and farmer data management.
|
|
- **Include**: *Validate Credentials*, *Send Confirmation Email*
|
|
Database (Data Storage):
|
|
- **Exclude**: *Access Restricted Features*
|
|
Database Type: SQL using MySQL versions.
|
|
|
|
Features:
|
|
### 2. **View Product Catalog**
|
|
Secure storage for user profiles, product details, and order history.
|
|
- **Primary Actor**: User
|
|
Support for querying seasonal product availability and farmer information.
|
|
- **Goal**: View a catalog of available products.
|
|
External Services:
|
|
- **Description**:
|
|
Payment Gateway: Currently not functional but provision exists for future integration.
|
|
- Users can browse the catalog of products offered by various farmers.
|
|
Map Integration: Can be added later for locating nearby farmers or tracking deliveries.
|
|
- The catalog includes product details, images, and prices.
|
|
Notification Services: To be implemented for order confirmations or promotional updates.
|
|
- **Relationships**:
|
|
Cloud Hosting:
|
|
- **Include**: *Search Product*, *Filter by Category*, *Sort by Price*
|
|
Hosting Provider: GitLab.
|
|
|
|
Deployment: Continuous Integration/Continuous Deployment (CI/CD) pipeline for smooth updates and scaling.
|
|
### 3. **Search and Filter Products**
|
|
Communication Protocols:
|
|
- **Primary Actor**: User
|
|
Frontend to Backend: HTTPS for secure communication.
|
|
- **Goal**: Search and filter products based on specific criteria.
|
|
Backend to Database: Secure queries with SSL/TLS encryption.
|
|
- **Description**:
|
|
Backend to External Services (Future Scope): APIs with OAuth or token-based authentication.
|
|
- Users can search for products by name, category, and other filters.
|
|
Support for Functional and Quality Attributes
|
|
- Additional options allow sorting by price and filtering by availability.
|
|
Functional Attributes
|
|
- **Relationships**:
|
|
User Registration and Profiles: Enables users to create accounts, save preferences, and manage order history securely.
|
|
- **Include**: *Sort by Price*, *Filter by Availability*
|
|
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.
|
|
### 4. **Order Management**
|
|
Farmer Profiles and Reviews: Highlights farmer practices and incorporates a review system for transparency.
|
|
- **Primary Actor**: User
|
|
Quality Attributes
|
|
- **Goal**: Manage the shopping cart and place orders.
|
|
Usability:
|
|
- **Description**:
|
|
Designed with Bootstrap for intuitive navigation on all devices.
|
|
- Users can add items to the cart, view the cart, and proceed to checkout.
|
|
Easy-to-use sliders with Swiper.js enhance user engagement.
|
|
- Discounts are applied where applicable, and an order confirmation is generated.
|
|
Performance:
|
|
- **Relationships**:
|
|
Node.js ensures non-blocking, fast request processing.
|
|
- **Include**: *Add to Cart*, *Calculate Total*, *Apply Discounts*, *Generate Order Confirmation*
|
|
Optimized MySQL queries for quick data retrieval.
|
|
- **Exclude**: *Edit Order*
|
|
Scalability:
|
|
|
|
GitLab hosting with CI/CD enables seamless scaling for future traffic.
|
|
### 5. **Process Payment**
|
|
Security:
|
|
- **Primary Actor**: Payment Gateway
|
|
HTTPS and TLS encryption safeguard sensitive user data.
|
|
- **Goal**: Handle payment processing for user orders.
|
|
Secure coding practices and session management to prevent unauthorized access.
|
|
- **Description**:
|
|
Communication Protocols
|
|
- Users enter payment details at checkout, which are validated for security.
|
|
Backend to Database: MySQL queries executed over a secure connection.
|
|
- A payment confirmation is sent upon successful transaction.
|
|
Backend to Future External Services: APIs secured with tokens or OAuth for authentication.
|
|
- **Relationships**:
|
|
Status Report and Demo Summary for Pure Roots
|
|
- **Include**: *Validate Payment Details*, *Send Payment Confirmation*
|
|
Functionalities Implemented
|
|
- **Exclude**: *Retry Payment*
|
|
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.
|
|
## Quality Attributes (QAs)
|
|
Functionalities Partially Implemented
|
|
|
|
Order Management:
|
|
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.
|
|
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.
|
|
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.
|
|
Functionalities Not Fully Implemented and Reasons
|
|
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.
|
|
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.
|
|
## Projected Members Contribution
|
|
Educational Resources:
|
|
|
|
Recipes and nutritional information were removed as they were deemed unnecessary for the current scope.
|
|
### **Saumyaa Gelani**
|
|
Seasonal Offerings:
|
|
- **Role**: Project Manager and Frontend Developer
|
|
Highlighting seasonal products was not implemented, as this feature was deprioritized due to its limited perceived value at this stage.
|
|
- **Responsibilities**:
|
|
Real-Time Order Tracking:
|
|
- Oversee project management and conduct weekly team meetings to track progress.
|
|
This feature was not implemented due to time limitations and prioritization of other core functionalities.
|
|
- Design wireframes and prototypes focusing on user-friendly and visually appealing interfaces.
|
|
Revised UML Diagram
|
|
- Implement frontend using HTML, CSS, and JavaScript frameworks (e.g., *React*).
|
|
|
|
- Conduct usability testing and incorporate feedback.
|
|
Projected Members Contribution
|
|
- Develop marketing materials and user guides.
|
|
|
|
|
|
Saumyaa Gelani
|
|
### **Akshit Marwaha**
|
|
Role: Saumyaa will oversee project management and frontend development, ensuring that the application is user-friendly and visually appealing.
|
|
- **Role**: Backend Developer and Database Administrator
|
|
Responsibilities:
|
|
- **Responsibilities**:
|
|
Oversee project management and conduct weekly team meetings to track progress, address challenges, and delegate tasks as needed.
|
|
- Develop and maintain server-side logic using Node.js or Python.
|
|
Design wireframes and prototypes for the web application, focusing on a user-friendly and visually appealing interface.
|
|
- Set up and manage the database, including schema design and data models.
|
|
Implement the frontend using HTML, CSS, and JavaScript frameworks (e.g., React), ensuring responsiveness and accessibility.
|
|
- Implement security measures such as user authentication and data encryption.
|
|
Conduct usability testing and incorporate user feedback into the design for continuous improvement.
|
|
- Monitor and optimize server performance.
|
|
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.
|
|
### **Krish Sharma**
|
|
Commit Frequency: Saumyaa will make at least two commits per week related to frontend features, design updates, and project management documentation.
|
|
- **Role**: Quality Assurance and Testing Specialist
|
|
|
|
- **Responsibilities**:
|
|
|
|
- Develop and execute comprehensive test plans and test cases.
|
|
Akshit Marwaha
|
|
- Conduct usability testing sessions with target users.
|
|
Role: Akshit will focus on developing and maintaining the server-side logic of the application, ensuring robust and scalable backend functionality.
|
|
- Monitor system performance and document any bugs or issues.
|
|
Responsibilities:
|
|
- Test security features to ensure data integrity and meet required standards.
|
|
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.
|
|
### **Gokulhesh Khanna**
|
|
Implement security measures such as user authentication, data encryption, and access control.
|
|
- **Role**: Documentation and API Integration Specialist
|
|
Collaborate closely with Saumyaa to facilitate frontend-backend integration, creating API endpoints for communication.
|
|
- **Responsibilities**:
|
|
Monitor and optimize server performance to ensure reliability and speed, especially during high-traffic periods.
|
|
- Organize and maintain project documentation.
|
|
Develop system health checks and maintain a log of system performance to identify and troubleshoot potential issues.
|
|
- Collaborate with Akshit on API integration tasks.
|
|
Commit Frequency: Akshit will aim for at least three commits per week focused on backend functionalities, database updates, and API development.
|
|
- Manage the GitLab Wiki and update project documentation.
|
|
|
|
- Test newly integrated API features and verify accuracy.
|
|
Krish Sharma
|
|
|
|
Role: Krish will focus on ensuring the quality and reliability of the application through thorough testing and user feedback collection.
|
|
<!DOCTYPE html>
|
|
Responsibilities:
|
|
<html lang="en">
|
|
Develop and execute comprehensive test plans and test cases for both frontend and backend components to identify issues early.
|
|
<head>
|
|
Conduct usability testing sessions with target users, gathering feedback to improve the overall user experience.
|
|
<meta charset="UTF-8">
|
|
Monitor system performance in real-time and document any bugs or issues, collaborating with Akshit on troubleshooting.
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
Test security features, including authentication flows and data integrity, to ensure they meet the required standards.
|
|
<title>Task Breakdown Table</title>
|
|
Document test results meticulously and maintain a backlog of identified bugs and issues for continuous tracking and resolution.
|
|
<style>
|
|
Engage with users to gather insights on pain points, refining testing strategies and ensuring continuous improvement.
|
|
table {
|
|
|
|
width: 100%;
|
|
|
|
border-collapse: collapse;
|
|
Gokulhesh Khanna
|
|
margin: 20px 0;
|
|
Role: Gokulhesh will focus on ensuring the quality and reliability of the application through thorough testing and user feedback collection.
|
|
font-size: 1em;
|
|
Responsibilities:
|
|
font-family: Arial, sans-serif;
|
|
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.
|
|
table, th, td {
|
|
Work with Saumyaa to develop technical documentation and user guides that explain key features and functionalities to non-technical users.
|
|
border: 1px solid #ddd;
|
|
Manage the GitLab Wiki and update project documentation, including usage instructions, FAQs, and technical guides.
|
|
padding: 8px;
|
|
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.
|
|
th {
|
|
Commit Frequency: Gokulhesh will aim for at least one commit per week focused on testing documentation, bug reports, and user feedback analysis.
|
|
background-color: #f2f2f2;
|
|
Task Breakdown
|
|
font-weight: bold;
|
|
Tasks Accomplished
|
|
text-align: left;
|
|
Major Contributor
|
|
}
|
|
Minor Contributors
|
|
tr:nth-child(even) {
|
|
Project Description
|
|
background-color: #f9f9f9;
|
|
Saumyaa
|
|
}
|
|
Akshit, Krish, Gokulhesh
|
|
</style>
|
|
UI UX designs on Figma
|
|
</head>
|
|
Saumyaa
|
|
<body>
|
|
Gokulhesh
|
|
|
|
GitLab Wiki Setup
|
|
<h2>Task Breakdown Table</h2>
|
|
Akshit
|
|
|
|
Krish, Gokulhesh
|
|
<table>
|
|
Functional properties
|
|
<tr>
|
|
Akshit, Gokulhesh
|
|
<th>Tasks Accomplished</th>
|
|
Saumyaa
|
|
<th>Major Contributor</th>
|
|
User Scenarios
|
|
<th>Minor Contributors</th>
|
|
Krish
|
|
</tr>
|
|
Saumyaa
|
|
<tr>
|
|
Quality Attributes
|
|
<td>Project Description</td>
|
|
Krish
|
|
<td>Saumyaa</td>
|
|
Akshit
|
|
<td>Akshit, Krish, Gokulhesh</td>
|
|
UML, ump, dot file
|
|
</tr>
|
|
Saumyaa, Krish
|
|
<tr>
|
|
Akshit, Krish
|
|
<td>UI UX designs on Figma</td>
|
|
Home Page
|
|
<td>Saumyaa</td>
|
|
Akshit, Saumyaa
|
|
<td>Gokulhesh</td>
|
|
Krish
|
|
</tr>
|
|
Login Page
|
|
<tr>
|
|
Krish
|
|
<td>GitLab Wiki Setup</td>
|
|
Saumyaa
|
|
<td>Akshit</td>
|
|
Product & Collections
|
|
<td>Krish, Gokulhesh</td>
|
|
Gokulhesh
|
|
</tr>
|
|
Akshit
|
|
<tr>
|
|
SQL, Node.js, and all backend
|
|
<td>Functional properties</td>
|
|
Akshit
|
|
<td>Akshit, Gokulhesh</td>
|
|
Gokulhesh
|
|
<td>Saumyaa</td>
|
|
Website Setup & Finalized Edits
|
|
</tr>
|
|
Akshit
|
|
<tr>
|
|
NA
|
|
<td>Formulation of data on GitLab Wiki</td>
|
|
Website Server Setup
|
|
<td>NA</td>
|
|
Akshit
|
|
<td>Saumyaa, Akshit, Krish</td>
|
|
Gokulhesh
|
|
</tr>
|
|
Pricing, Naming, Codes
|
|
<tr>
|
|
Saumyaa
|
|
<td>User Scenarios</td>
|
|
Krish
|
|
<td>Krish</td>
|
|
Image Collection for Website
|
|
<td>Saumyaa</td>
|
|
Saumyaa, Gokulhesh
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Quality Attributes</td>
|
|
CSS HTML
|
|
<td>Krish</td>
|
|
Saumyaa
|
|
<td>Akshit</td>
|
|
Akshit, Krish, Gokulhesh
|
|
</tr>
|
|
Video Shoot
|
|
<tr>
|
|
Saumyaa
|
|
<td>UML, ump, dot file</td>
|
|
Akshit
|
|
<td>Saumyaa, Krish</td>
|
|
Video Editing
|
|
<td>Akshit, Krish</td>
|
|
Saumyaa
|
|
</tr>
|
|
NA
|
|
<tr>
|
|
UML Diagram
|
|
<td>Home Page</td>
|
|
Saumyaa
|
|
<td>Akshit, Saumyaa</td>
|
|
NA
|
|
<td>Krish</td>
|
|
Presentation
|
|
</tr>
|
|
Krish, Gokulhesh
|
|
<tr>
|
|
Saumyaa
|
|
<td>Login Page</td>
|
|
Video Script Writing
|
|
<td>Krish</td>
|
|
Saumyaa
|
|
<td>Saumyaa</td>
|
|
Akshit
|
|
</tr>
|
|
Architectural Model Diagram
|
|
<tr>
|
|
Saumyaa, Gokulhesh
|
|
<td>Payment Gateway</td>
|
|
|
|
<td>Akshit</td>
|
|
|
|
<td>Gokulhesh</td>
|
|
Architectural System
|
|
</tr>
|
|
Saumyaa, Gokulhesh
|
|
<tr>
|
|
Krish
|
|
<td>Product & Collections</td>
|
|
|
|
<td>Gokulhesh</td>
|
|
|
|
<td>Akshit</td>
|
|
Proposed Project
|
|
</tr>
|
|
Unique Features and Benefits
|
|
<tr>
|
|
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:
|
|
<td>Backend</td>
|
|
Farmer Profiles: Detailed profiles that highlight each farmer’s practices and offerings, helping consumers make informed purchasing decisions.
|
|
<td>Akshit</td>
|
|
Seasonal Offerings: A catalog of products available seasonally, supporting sustainable agricultural practices.
|
|
<td>Krish, Gokulhesh, Saumyaa</td>
|
|
Educational Components: Added value through recipes, nutritional information, and educational resources that promote healthier eating habits and inform consumers about local food sources.
|
|
</tr>
|
|
Platform Choice
|
|
<tr>
|
|
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:
|
|
<td>Pricing, Naming, Codes</td>
|
|
Payment Processing: A secure and streamlined payment experience.
|
|
<td>Saumyaa</td>
|
|
Order Tracking: Real-time tracking for order fulfillment and delivery.
|
|
<td>Krish</td>
|
|
Customer Reviews: A feedback system to encourage transparency and trust within the community.
|
|
</tr>
|
|
Societal Impact
|
|
</table>
|
|
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.
|
|
</body>
|
|
Promoting Sustainable Agriculture: Encouraging local sourcing reduces the environmental impact associated with long-distance food transportation.
|
|
</html> |
|
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. |