FarmMart is a Minimum Viable Product (MVP) designed to bridge the gap between small-scale farmers and consumers. The platform enables direct sales of farm produce, empowering farmers to reach a wider market and promoting sustainable agriculture.
-
User Authentication:
Secure sign up and login functionality (simulated with local storage for MVP). -
Responsive Design:
Fully responsive UI for seamless experience on desktop, tablet, and mobile devices. -
Product Listings:
Farmers can list their products with images, prices, available quantity, and special offers. -
Product Search:
Users can search for farm produce using keywords. -
Cart & Checkout:
Add products to cart and proceed to checkout (MVP logic). -
Order Management:
View pending orders, sales, and alerts. -
Farmer Profiles:
View farmer details, ratings, and more products from the same farmer. -
Recently Viewed:
Users can see products they recently viewed for quick access. -
Error Handling:
Custom 404 error page for undefined routes.
- Frontend: React, Tailwind CSS
- Routing: React Router DOM
- Icons: React Icons
- State Management: React useState, useEffect (MVP, no Redux)
- Data Storage: Local Storage (for authentication simulation)
- Charts: Chart.js (for dashboard analytics)
farmmvp/
├── public/
│ └── ...static assets
├── src/
│ ├── assets/ # Images and static files
│ ├── components/ # Reusable components
│ ├── Pages/ # Main pages (Dashboard, Product, Cart, ErrorPage, etc.)
│ ├── App.jsx # Main app component with routing
│ └── index.js
├── package.json
└── README.md
-
Sign Up / Login:
Create an account or log in (data stored in local storage for MVP). -
Browse Products:
View available farm produce, search, and filter. -
Add to Cart:
Add items to your cart and proceed to checkout. -
View Dashboard:
Farmers can view sales, orders, and manage listings. -
Error Handling:
Any undefined route will show a custom 404 error page.
FarmMart is designed to work seamlessly on all devices.
- Sidebar collapses on mobile.
- Dashboard and product pages adapt to screen size.
- Mobile-friendly navigation and buttons.
-
Authentication:
Replace local storage logic with your preferred backend/auth provider. -
Database:
Integrate with a real database for persistent data. -
Payment Integration:
Add payment gateways for real transactions.
This project is licensed under the MIT License.