Skip to content
evansrwothomio20-webPublic

About

Mdaad Now: An offline-first PWA for real-time crisis response, aid mapping, and emergency coordination in disconnected conflict zones.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Mdaad Now

Mdaad Now logo

Mdaad Now is a lightweight, resilient coordination platform for humanitarian actors operating in low-bandwidth and offline-first environments.

Badges

License: MIT Docs


Overview

This repository contains a compact progressive web app (PWA) front-end, a small Node.js API proxy under api/, and several legacy Python services in legacy_backend/.

The project emphasizes:

  • Minimal client payloads and offline resilience
  • Simple deployment and compatibility with static hosts or Vercel
  • Clear separation between lightweight UI, a small proxy API, and optional legacy services

Tech highlights

  • Frontend: plain JavaScript + React (CDN) + HTM
  • Styling: Tailwind CSS + styles.css
  • Mapping: Leaflet
  • Local storage: localforage for offline persistence
  • PWA: manifest.json, service-worker.js
  • Backend: api/index.js (Node.js) and optional legacy FastAPI services in legacy_backend/

Quick start

  1. Install Node dependencies and build CSS:
npm install
npm run build:css
  1. (Optional) Install Python requirements for legacy services:
python -m pip install -r requirements.txt
  1. Generate icons (optional):
C:/Python314/python.exe scripts\export_icons.py
  1. Open index.html in a browser or run your preferred static server.

API reference (concise)

Endpoint Method Description
/api/health GET Service health and environment info
/api/campaigns GET, POST List and create campaigns
/api/resources GET List resources (NGOs, hospitals, warehouses)
/api/external/:provider GET Proxy to external humanitarian feeds

Examples

Client fetch:

fetch('/api/campaigns')
  .then(r => r.json())
  .then(data => console.log(data))

Curl health check:

curl -sS http://localhost:3000/api/health | jq

Architecture (diagram)

flowchart LR
  User --> Browser
  Browser --> |assets, manifest| ServiceWorker
  Browser --> |API calls| API
  ServiceWorker --> |cache| Assets[(Static Assets)]
  API --> Legacy[Legacy Backend]
  Legacy --> DB[(Database)]
Loading

Contributing

Please open issues and PRs. Keep changes focused. Use scripts/ for repeatable tooling and avoid committing large generated binaries unless necessary.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Mdaad Now: An offline-first PWA for real-time crisis response, aid mapping, and emergency coordination in disconnected conflict zones.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages