|
---
|
|
---
|
|
title: Body
|
|
title: Body
|
|
---
|
|
---
|
|
Final Deliverable III
|
|
# Final Deliverable III: Pure Roots
|
|
|
|
|
|
Required Links
|
|
## Required Links
|
|
GitLab - https://gitlab.com/AkshitMarwaha1000/purroots_project
|
|
- [GitLab Repository](https://gitlab.com/AkshitMarwaha1000/purroots_project)
|
|
Youtube - https://www.youtube.com/shorts/jFlHVF2ktgo
|
|
- [YouTube Demo](https://www.youtube.com/shorts/jFlHVF2ktgo)
|
|
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
|
|
|
|
|
|
|
|
Describe your project
|
|
---
|
|
Problem Statement
|
|
|
|
|
|
## Project Description
|
|
|
|
|
|
|
|
### 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.
|
|
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
|
|
|
|
|
|
### 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.
|
|
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:
|
|
### What Makes Us Unique
|
|
1. Direct from Local Farmers
|
|
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.
|
|
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.
|
|
2. **Freshness You Can Trust**
|
|
3. Community-Centered Values
|
|
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.
|
|
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
|
|
3. **Community-Centered Values**
|
|
By sourcing locally, we reduce food miles and minimize our environmental footprint. Choosing Pure Roots is a step toward a greener, more sustainable future.
|
|
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.
|
|
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.
|
|
4. **Sustainable Choices**
|
|
Featured Products
|
|
By sourcing locally, we reduce food miles and minimize our environmental footprint. Choosing Pure Roots is a step toward a greener, more sustainable future.
|
|
A carousel or grid showcasing popular items (e.g., “Fresh Tomatoes,” “Farm-Fresh Eggs”).
|
|
|
|
How It Works
|
|
5. **Customizable for Your Needs**
|
|
Browse Products: Explore fresh, locally sourced items on our app or website.
|
|
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.
|
|
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
|
|
|
|
|
|
## Featured Products
|
|
|
|
A carousel or grid showcasing popular items (e.g., "Fresh Tomatoes," "Farm-Fresh Eggs").
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## How It Works
|
|
|
|
1. **Browse Products**: Explore fresh, locally sourced items on our app or website.
|
|
|
|
2. **Choose & Order**: Pick what you need and place your order directly with local farmers.
|
|
|
|
3. **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.
|
|
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.
|
|
### Our Values
|
|
Sustainability: Reducing food miles and environmental impact.
|
|
- **Freshness**: Straight from farms to your table.
|
|
Transparency: Knowing where your food comes from.
|
|
- **Fairness**: Ensuring farmers get their due.
|
|
Our Values
|
|
- **Community**: Building connections between growers and consumers.
|
|
Freshness: Straight from farms to your table.
|
|
|
|
Fairness: Ensuring farmers get their due.
|
|
---
|
|
Community: Building connections between growers and consumers.
|
|
|
|
Architectural Model Diagram
|
|
## Architectural Model Diagram
|
|
The system architecture for Pure Roots is structured as follows:
|
|
### Frontend (User Interface):
|
|
Frontend (User Interface):
|
|
- **Devices Supported**: Desktop, tablet, and smartphones.
|
|
Devices Supported: Desktop, tablet, and smartphones.
|
|
- **Technologies Used**:
|
|
Technologies Used:
|
|
- HTML, CSS, JavaScript for structure and interactivity.
|
|
HTML, CSS, JavaScript for structure and interactivity.
|
|
- Bootstrap for responsive design.
|
|
Bootstrap for responsive design ensuring usability across devices.
|
|
- Swiper.js for sliders.
|
|
Swiper.js for creating engaging sliders for product showcasing.
|
|
- **Features**:
|
|
Features:
|
|
- User registration and login interface.
|
|
User registration and login interface.
|
|
- Product catalog with search, filter, and cart management.
|
|
Product catalog with search, filter, and cart management options.
|
|
- Farmer profiles with ratings and reviews.
|
|
Farmer profiles with ratings and reviews.
|
|
|
|
Educational content on local farming and recipes.
|
|
### Backend (Application Logic):
|
|
Backend (Application Logic):
|
|
- **Technologies Used**: Node.js with Express.js.
|
|
Technologies Used: Node.js with Express.js for a robust and scalable backend.
|
|
- **Programming Language**: JavaScript.
|
|
Programming Language: JavaScript.
|
|
- **Features**:
|
|
Features:
|
|
- User authentication and session management.
|
|
User authentication and session management.
|
|
- API endpoints for handling frontend requests.
|
|
API endpoints for handling frontend requests.
|
|
- Logic for cart operations, order tracking, and farmer data management.
|
|
Logic for cart operations, order tracking, and farmer data management.
|
|
|
|
Database (Data Storage):
|
|
### Database (Data Storage):
|
|
Database Type: SQL using MySQL versions.
|
|
- **Database Type**: SQL using MySQL versions.
|
|
Features:
|
|
- **Features**:
|
|
Secure storage for user profiles, product details, and order history.
|
|
- Secure storage for user profiles, product details, and order history.
|
|
Support for querying seasonal product availability and farmer information.
|
|
- Support for querying seasonal product availability and farmer information.
|
|
External Services:
|
|
|
|
Payment Gateway: Currently not functional but provision exists for future integration.
|
|
### External Services:
|
|
Map Integration: Can be added later for locating nearby farmers or tracking deliveries.
|
|
- **Payment Gateway**: Not functional yet but provisioned for future integration.
|
|
Notification Services: To be implemented for order confirmations or promotional updates.
|
|
- **Map Integration**: Planned for locating nearby farmers or tracking deliveries.
|
|
Cloud Hosting:
|
|
|
|
Hosting Provider: GitLab.
|
|
### Cloud Hosting:
|
|
Deployment: Continuous Integration/Continuous Deployment (CI/CD) pipeline for smooth updates and scaling.
|
|
- **Hosting Provider**: GitLab.
|
|
Communication Protocols:
|
|
- **Deployment**: CI/CD pipeline for updates and scaling.
|
|
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
|
|
## Status Report
|
|
Functional Attributes
|
|
|
|
User Registration and Profiles: Enables users to create accounts, save preferences, and manage order history securely.
|
|
### Functionalities Implemented
|
|
Product Catalog and Search: Allows efficient browsing and filtering of locally available products.
|
|
- **User Registration and Profiles**: Users can create accounts and manage basic profiles.
|
|
Order Management: Handles shopping cart functionalities and maintains a record of orders.
|
|
- **Product Catalog and Search**: Comprehensive catalog, sortable by categories, location, and price.
|
|
Farmer Profiles and Reviews: Highlights farmer practices and incorporates a review system for transparency.
|
|
|
|
Quality Attributes
|
|
### Functionalities Partially Implemented
|
|
Usability:
|
|
- **Order Management**: Cart functionality available; backend integration pending.
|
|
Designed with Bootstrap for intuitive navigation on all devices.
|
|
|
|
Easy-to-use sliders with Swiper.js enhance user engagement.
|
|
### Functionalities Not Fully Implemented
|
|
Performance:
|
|
- **Farmer Profiles and Reviews**: Only admin profiles available; time constraints prevented full implementation.
|
|
Node.js ensures non-blocking, fast request processing.
|
|
- **Payment Processing**: Feature development began late and remains incomplete.
|
|
Optimized MySQL queries for quick data retrieval.
|
|
- **Educational Resources**: Deemed unnecessary for the current scope.
|
|
Scalability:
|
|
|
|
GitLab hosting with CI/CD enables seamless scaling for future traffic.
|
|
---
|
|
Security:
|
|
|
|
HTTPS and TLS encryption safeguard sensitive user data.
|
|
## Use Case Model
|
|
Secure coding practices and session management to prevent unauthorized access.
|
|
### Use Case 1: User Registration
|
|
Communication Protocols
|
|
- **Actors**: Consumer
|
|
Backend to Database: MySQL queries executed over a secure connection.
|
|
- **Main Flow**:
|
|
Backend to Future External Services: APIs secured with tokens or OAuth for authentication.
|
|
1. User navigates to the sign-in/sign-up page.
|
|
Status Report and Demo Summary for Pure Roots
|
|
2. User fills out the registration form (name, email, password).
|
|
Functionalities Implemented
|
|
3. User submits the form.
|
|
User Registration and Profiles:
|
|
4. System confirms registration and redirects to the profile.
|
|
Users can successfully create accounts and manage basic profiles.
|
|
|
|
Product Catalog and Search:
|
|
### Use Case 2: Product Search and Order Placement
|
|
A comprehensive catalog is available, sortable by categories, location, and price.
|
|
- **Actors**: Consumer
|
|
Functionalities Partially Implemented
|
|
- **Main Flow**:
|
|
Order Management:
|
|
1. User navigates to the product catalog.
|
|
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. User searches for specific products or browses categories.
|
|
Functionalities Not Fully Implemented and Reasons
|
|
3. User adds desired items to the cart.
|
|
Farmer Profiles and Reviews:
|
|
4. User reviews the cart and proceeds to checkout.
|
|
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:
|
|
## Functional Properties (FPs)
|
|
Recipes and nutritional information were removed as they were deemed unnecessary for the current scope.
|
|
1. **User Registration and Profiles**: Personalize the shopping experience by saving preferences and order history.
|
|
Seasonal Offerings:
|
|
2. **Product Catalog and Search**: Comprehensive catalog for efficient browsing.
|
|
Highlighting seasonal products was not implemented, as this feature was deprioritized due to its limited perceived value at this stage.
|
|
3. **Order Management**: Cart functionalities for seamless purchasing.
|
|
Real-Time Order Tracking:
|
|
4. **Payment Processing**: Secure transaction handling (future implementation).
|
|
This feature was not implemented due to time limitations and prioritization of other core functionalities.
|
|
5. **Farmer Profiles and Reviews**: Transparency through farmer profiles and consumer reviews.
|
|
Revised UML Diagram
|
|
|
|
|
|
---
|
|
Projected Members Contribution
|
|
|
|
|
|
## Quality Attributes (QAs)
|
|
Saumyaa Gelani
|
|
### Usability
|
|
Role: Saumyaa will oversee project management and frontend development, ensuring that the application is user-friendly and visually appealing.
|
|
- Intuitive interface with responsive design for all devices.
|
|
Responsibilities:
|
|
- Accessible navigation and clear labeling.
|
|
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.
|
|
### Performance
|
|
Implement the frontend using HTML, CSS, and JavaScript frameworks (e.g., React), ensuring responsiveness and accessibility.
|
|
- Optimized backend and frontend for minimal latency.
|
|
Conduct usability testing and incorporate user feedback into the design for continuous improvement.
|
|
- Use of caching and CDN for faster loading.
|
|
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.
|
|
### Security
|
|
Commit Frequency: Saumyaa will make at least two commits per week related to frontend features, design updates, and project management documentation.
|
|
- HTTPS and TLS encryption for secure data handling.
|
|
|
|
- Regular security audits to prevent breaches.
|
|
|
|
|
|
Akshit Marwaha
|
|
---
|
|
Role: Akshit will focus on developing and maintaining the server-side logic of the application, ensuring robust and scalable backend functionality.
|
|
|
|
Responsibilities:
|
|
## Team Contributions
|
|
Develop and maintain the server-side logic using Node.js or Python to ensure robust and scalable backend functionality.
|
|
| **Member** | **Role** | **Responsibilities** |
|
|
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.
|
|
| **Saumyaa Gelani** | Frontend Development | UI/UX design, frontend coding, usability testing, user guides. |
|
|
Collaborate closely with Saumyaa to facilitate frontend-backend integration, creating API endpoints for communication.
|
|
| **Akshit Marwaha** | Backend Development | Node.js development, API creation, database management, system performance. |
|
|
Monitor and optimize server performance to ensure reliability and speed, especially during high-traffic periods.
|
|
| **Krish Sharma** | Testing and QA | Test cases, usability testing, system performance, bug reporting. |
|
|
Develop system health checks and maintain a log of system performance to identify and troubleshoot potential issues.
|
|
| **Gokulhesh Khanna**| Documentation and QA | Documentation, GitLab Wiki management, API endpoint testing, security validation. |
|
|
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.
|
|
## Societal Impact
|
|
Responsibilities:
|
|
1. **Support for Local Economies**: Contributing to the resilience of rural communities.
|
|
Develop and execute comprehensive test plans and test cases for both frontend and backend components to identify issues early.
|
|
2. **Sustainability**: Reducing environmental impact through local sourcing.
|
|
Conduct usability testing sessions with target users, gathering feedback to improve the overall user experience.
|
|
3. **Community Building**: Strengthening social ties and raising awareness of sustainable practices.
|
|
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. |
|
|