Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tazémi Agritech

Preserving Nigeria's harvest with intelligent agritech infrastructure.

Tazémi is a modern agritech platform built to reduce post-harvest loss through smarter storage, operational visibility, and data-driven decision-making. The product combines a polished public website, a protected executive dashboard, and backend services that can run on demo data today and scale into live field operations tomorrow.

Why Tazémi Exists

Across many markets, farmers and operators lose value after harvest because storage and logistics systems are unreliable, fragmented, or hard to monitor. Tazémi is designed to help close that gap with:

  • better visibility into inventory and field operations
  • IoT-aware monitoring workflows
  • structured reporting and analytics
  • a professional digital presence for partners, investors, and operators

What’s Included

Public Website

A responsive marketing site with pages for:

  • Home
  • About
  • Product
  • Team
  • Impact
  • Investors
  • Contact
  • Authentication

Operational Dashboard

A protected internal workspace, scoped to the current MVP spec (5 pages):

  • Dashboard — executive summary (CEO only)
  • Aggregators — register and view registered aggregators
  • Crates — assign, dispatch, and mark crates returned
  • Transactions — read-only log from TAPU V1
  • Settings — operator accounts and hub name/location (CEO only)

Two separate sign-in paths:

  • CEO — email + password (Firebase Auth), full access to all 5 pages
  • Field operators — Operator ID + PIN (/operator-login), created by the CEO in Settings; access to Aggregators/Crates/Transactions only

Older pages (IoT Monitoring, Coating Operations, Bio-Shield R&D, Truck Data Analysis, the original Aggregator Directory) are still present in the codebase but no longer linked from navigation — they belonged to an earlier, broader product spec (PRD v2.1) and are out of scope for the current MVP.

Backend Platform

A FastAPI backend that provides:

  • API routing under /api/v1
  • a health endpoint
  • service-layer structure for core domain objects
  • support for Firebase-backed or demo-data workflows

Technology Stack

Frontend

  • React 19
  • Vite
  • React Router
  • Tailwind CSS
  • Recharts
  • Lucide React
  • EmailJS

Backend

  • FastAPI
  • Firebase integration
  • CORS support for local and deployed environments
  • Uvicorn/Gunicorn-compatible hosting

Project Structure

  • src/pages/public/ — public-facing pages
  • src/pages/dashboard/ — internal dashboard pages
  • src/components/ — shared UI components and layouts
  • src/context/ — app state and authentication context
  • src/services/ — frontend API/auth services
  • src/data/ — demo datasets
  • backend/ — FastAPI app, routes, services, and storage layer
  • public/ — static assets and fallback pages

Getting Started

Prerequisites

  • Node.js 18+
  • npm
  • Python 3.10+

Run the Frontend

npm install
npm run dev

Run the Backend

From the backend/ directory:

pip install -r ../requirements.txt
uvicorn backend.main:app --reload

Development Scripts

  • npm run dev — start the frontend dev server
  • npm run build — create a production build
  • npm run preview — preview the production build
  • npm run lint — run ESLint checks
  • npm run deploy — build and publish to GitHub Pages

Deployment

Vercel

  1. Push the repository to GitHub
  2. Import it into Vercel
  3. Set build command to npm run build
  4. Set output directory to dist
  5. Deploy

Netlify

  1. Push the repository to GitHub
  2. Import it into Netlify
  3. Set build command to npm run build
  4. Set publish directory to dist
  5. Deploy

GitHub Pages

Use the included deploy script:

npm run deploy

Demo Data vs Live Data

The platform currently supports demo-mode workflows for rapid iteration. As the product grows, the demo datasets can be replaced with live Firebase/API integrations for real field pilots and operational reporting.

Security and Readiness Notes

  • Protected dashboard routes require authentication, with role-based access (ceo vs field_operator) enforced both client-side (route redirects) and server-side (every write endpoint independently verifies the caller's role — the frontend's claimed role is never trusted alone).
  • Core write support exists for aggregators, crates, transactions, operators, and hub settings, matching the current MVP spec.
  • Never commit real .env values. Only .env.example (with blank/placeholder values) belongs in git. If you're setting up locally, copy .env.example to .env and fill in real values there — .env is gitignored and should stay that way.
  • Production deployments should include stronger validation, audit logging, HTTPS, and secure secret management.

Brand Colors

Tailwind tokens used across the interface:

  • teal#1D9E75 (Harvest Teal)
  • deep#085041 (Deep Earth)
  • mist#E1F5EE (Fresh Mist)
  • tomato#D85A30 (Tomato accent)

Vision

Tazémi is building the digital backbone for smarter post-harvest agriculture in Nigeria and beyond — helping operators preserve more value, make faster decisions, and create a more resilient food system.


Built for Tazémi Agritech.

About

Tazémi Operations Dashboard — MVP for aggregator registration, crate tracking, and transaction logging. React + Vite frontend, FastAPI backend, Firebase-backed.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages