A mobile commerce workspace for Sierra Leone with listing management, order tracking, secure payments, and admin moderation.
# Farmer Marketplace
Farmer Marketplace is a production-focused mobile commerce system for direct farmer-to-buyer trade. It includes:
- Expo mobile app with a polished responsive interface
- PostgreSQL backend with JWT auth, role-based access, and persistence
- Product listings, orders, reviews, moderation, and analytics
- Live Stripe checkout for secure payments
- Free web deployment path with Netlify + Render + Neon
## Free deployment stack
This repo is ready for a free-hosted web release using:
- Netlify for the Expo web frontend
- Render free web service for the API
- Neon free PostgreSQL for the database
Official pricing pages:
- Netlify pricing
- Render pricing
- Neon pricing
## Project layout
- `App.js` — Expo app shell and role-based navigation
- `src/` — screens, shared UI, context, API client, and token storage
- `backend/` — Express API for PostgreSQL, auth, checkout, and marketplace logic
- `database/schema.sql` — PostgreSQL schema for pgAdmin4
- `database/initial-admin.sql` — bootstrap script for your first admin account
- `docs/system-architecture.md` — architecture summary for the submission
- `docs/api-reference.md` — endpoint reference for the backend
- `docs/presentation-outline.md` — slide outline for the presentation deliverable
- `assets/` — app icon, splash screen, adaptive icon, and web favicon
- `eas.json` — Expo Application Services build profiles
- `netlify.toml` — Netlify static web configuration
- `render.yaml` — Render web service blueprint
## Setup
### 1) PostgreSQL in pgAdmin4 or Neon
1. Create a database named `farmer_marketplace` in pgAdmin4, or create a free Neon project.
2. Open the Query Tool in pgAdmin4, or use your Neon SQL editor if you prefer.
3. Run `database/schema.sql`
4. Run `database/initial-admin.sql` and replace the placeholder email/password with your own secure admin credentials
The sign-in screen includes a protected **Administrator** option. Public registration remains limited to buyers and farmers; adm …