Agrein is a full-stack agricultural marketplace prototype for connecting farmers, buyers, and admins in a single platform. The app is designed around direct farm-to-market trade in Nigeria, with farmer verification, produce listing, order checkout, escrow-style payment flows, and AI-assisted market insights.
# Agrein
Agrein is a full-stack agricultural marketplace prototype for connecting farmers, buyers, and admins in a single platform. The app is designed around direct farm-to-market trade in Nigeria, with farmer verification, produce listing, order checkout, escrow-style payment flows, and AI-assisted market insights.
This repo contains:
- a static frontend SPA served from the project root
- a Node.js + Express API in the `server/` folder
- Supabase/PostgreSQL-ready database schema in `database/schema.sql`
- PWA metadata, deployment config, and demo marketplace logic
## Overview
Agrein includes:
- product browsing and catalog filtering
- buyer cart and checkout flow
- farmer dashboard for listings and sales
- admin verification and moderation screens
- role-based access to dashboards
- OTP-based authentication
- Interswitch payment integration hooks
- AI price prediction and agronomy diagnosis interfaces
- logistics, cooperative, traceability, and wallet modules
## Tech stack
- Frontend: HTML, JavaScript, Tailwind CSS
- Backend: Node.js, Express
- Database: PostgreSQL / Supabase
- Auth: JWT + email OTP flow
- Payments: Interswitch integration utilities
- Email: Brevo API with SMTP fallback
- Deployment: Render config included in `render.yaml`
## Project structure
```bash
.
├── app.js # main client-side app orchestrator
├── index.html # SPA entry point and script loading
├── manifest.json # PWA manifest
├── public/
│ └── styles.css # compiled Tailwind CSS
├── src/
│ ├── custom.css
│ └── tailwind.css
├── client/
│ ├── components/
│ ├── data/
│ └── utils/
├── server/
│ ├── controllers/
│ ├── middleware/
│ ├── routes/
│ ├── utils/
│ ├── index.js # Express app entry point
│ └── package.json
├── database/
│ └── schema.sql # database schema and related SQL
├── render.yaml # Render deployment config
├── sw.js # service w …