# AgriConnect
**AgriConnect** is a Rwandan agricultural marketplace that connects farmers directly to buyers. It provides role-based portals for Farmers, Buyers, and Admins, with real-time notifications, messaging, purchase transactions, mobile money payment simulation, product ratings, and a complete email notification system.
---
## Link to the app
agriconnect-rwanda.onrender…
---
## Table of Contents
- Features
- Tech Stack
- Project Structure
- Getting Started
- Environment Variables
- Running the App
- User Roles & Portals
- API Documentation
- Author
- License
---
## Features
### Farmer Portal
- Register and manage a product catalogue (name, category, price in RWF, quantity in kg, location, image)
- Receive purchase requests from buyers and accept or reject them
- Mark orders as completed — product quantity is automatically reduced; product is marked unavailable when stock reaches 0
- Real-time notifications when a buyer submits a request or leaves a rating
- View each review and star rating submitted for their products in real time
- Message buyers directly via the in-app chat
### Buyer Portal
- Browse all active products with search and category filtering
- Send purchase requests with a custom note and desired quantity
- Simulate a Mobile Money (MTN / Airtel) payment on accepted orders
- Receive a receipt with delivery date after payment
- Rate products (0–10) and leave written reviews
- Real-time notifications for new products, order status changes, and messages
### Admin Portal
- View platform-wide statistics (users, products, orders)
- List, search, and filter all users by role and status
- Activate or deactivate any farmer or buyer account
- Deactivated users are blocked from logging in and from using the API
### All Portals
- Change password from within the dashboard (requires current password)
- Forgot password flow: enter email → receive 6-digit OTP → verify and set new passwo …