Production-ready MVP admin dashboard for NGOs, health teams, community health workers, and local coordinators monitoring vulnerable African communities.
# HewaleConnect
Production-ready MVP admin dashboard for NGOs, health teams, community health workers, and local coordinators monitoring vulnerable African communities.
## Tech stack
- Next.js App Router, TypeScript, Tailwind CSS
- shadcn-inspired local UI primitives
- Redux Toolkit, TanStack Query, TanStack Table
- React Hook Form, Zod, Axios
- Recharts
- Leaflet / React Leaflet with dynamic imports for SSR safety
- Lucide React icons
## Installation
```bash
npm install
```
## Environment variables
Copy `.env.example` to `.env.local`.
```bash
NEXT_PUBLIC_API_URL=
localhost
```
Set `NEXT_PUBLIC_API_URL` to the Express/MongoDB API origin. Dashboard requests are sent to `/api/...` paths through that base URL.
For local Next development, the project keeps a self-contained UNICEF demo API implementation at `src/app/demo-api/api/[...path]/route.local.ts`. To use it, rename `route.local.ts` to `route.ts`, then point the frontend at the bundled demo API namespace:
```bash
NEXT_PUBLIC_API_URL=/demo-api
```
Then restart the dev server, run the dashboard, and open
localhost. Demo login accepts `admin@example.com` / `password` and returns a live-shaped session. Because `/demo-api` is relative, it will keep working if Next chooses another port.
You can quickly confirm the demo API is available at
localhost.
## Running locally
```bash
npm run dev
```
Open `
localhost` and sign in with a real backend account.
## Firebase Hosting
This dashboard is configured for static Firebase Hosting, not SSR. `next.config.ts` uses `output: "export"`, so the production build writes static files to `out/`.
1. Install and sign in to the Firebase CLI if needed:
```bash
npm install -g firebase-tools
firebase login
```
2. Point the app at a deployed backend API before building:
```bash
NEXT_PUBLIC_API_URL=
your-api.example.com
```
3. Build and deploy:
```bash
npm run build:hosting
fireba …