Logo Lanfrica

muhammadbenafa/wildsms

Domain:

digital infrastructurepeace and security

Record type:

software
Creator:
muh
Host:
WildSMS built for Africa's Talking Wildlife & Conservation Hackathon Kaduna Nigeria # WildSMS 🌿 ### Wildlife Awareness Platform β€” Powered by Africa's Talking SMS API > Connecting rural Nigerian communities to wildlife conservation through SMS β€” no smartphone, no data, no barriers. --- ## Quick Start ```bash # 1. Install dependencies npm install # 2. Credentials are already in .env β€” ready to go for sandbox testing # 3. Start the server npm start # 4. Open the dashboard open localhost ``` --- ## Project Structure ``` wildsms/ β”œβ”€β”€ server.js # Express app + cron jobs β”œβ”€β”€ .env # Africa's Talking credentials β”œβ”€β”€ package.json β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ content.js # All SMS stories, facts, and message templates β”‚ └── store.js # In-memory subscriber + report store β”œβ”€β”€ routes/ β”‚ β”œβ”€β”€ sms.js # Inbound SMS webhook β€” handles all keyword flows β”‚ β”œβ”€β”€ broadcast.js # Broadcast endpoints (fact, story, custom) β”‚ └── smsService.js # Africa's Talking SDK wrapper └── public/ └── index.html # Dashboard UI ``` --- ## SMS Keywords | Keyword | Action | |---------|--------| | `JOIN` | Subscribe to WildSMS | | `FACT` | Receive a daily wildlife fact | | `STORY` | Start a 3-part wildlife story | | `MORE` | Continue the current story | | `REPORT POACH` | Report illegal hunting | | `REPORT FIRE` | Report a forest fire | | `REPORT TRAP` | Report a snare/trap found | | `REPORT TRADE` | Report illegal wildlife sale | | `STOP` | Unsubscribe | | `HELP` | Show help menu | --- ## API Endpoints | Method | Endpoint | Description | |--------|----------|-------------| | `POST` | `/sms/inbound` | Africa's Talking webhook (inbound SMS) | | `POST` | `/sms/delivery` | Delivery report callback | | `POST` | `/broadcast/fact` | Trigger daily fact broadcast | | `POST` | `/broadcast/story` | Broadcast story start to all subscribers | | `POST` | `/broadcast/custom` | Send custom message (`{ message, phone? }`) | | `GET` | `/api/stats` | Dashboard stats (JSON) | | `GET` | `/api/reports` | All t …

Languages