Skip to content

jahidstm/roktodut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

422 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩸 RoktoDut (রক্তদূত)

A privacy-first, automation-driven platform that connects patients with verified blood donors in minutes.

Laravel Tailwind CSS Alpine JS MySQL Leaflet


🚀 Overview

RoktoDut is a full-stack, production-grade blood donor discovery system built for Bangladesh. It prioritizes speed in emergencies, trust in identities, and privacy in contact sharing through automation, verification, and real-time analytics.

✨ Why it stands out

  • No-login emergency search with smart ranking to surface reliable donors first.
  • Privacy shield that hides phone numbers until a human verification step passes.
  • Truth Loop verification to confirm donations without manual follow-up.
  • Live demand heatmap across all districts for supply-vs-demand visibility.
  • QR Smart Card verification for NID-verified donors with controlled disclosure.

🧩 Core Features

  • Donor discovery & smart ranking: availability, verification tier, and reliability scoring.
  • Emergency request flow: public blood requests with response tracking and urgency sorting.
  • Donation verification: claim → recipient confirmation → automated cooldown.
  • Gamification: points, badges, and national leaderboards to drive retention.
  • Organization panel: hospitals/blood clubs can verify and manage members.
  • Content platform: health blogs and verified success stories.
  • PWA + FCM: offline fallback and push notifications for critical alerts.
  • Real-time & automation: queues, scheduled jobs, and alerts via Telegram.

🏗️ Architecture

Layer Tech
Backend Laravel 12, PHP 8.2, MySQL, Redis, Sanctum, Reverb
Frontend Blade, Tailwind CSS, Alpine.js, Vite
Maps & Analytics Leaflet, GeoJSON, custom spatial analytics
Notifications Firebase (FCM), Telegram Bot
ML Service FastAPI + scikit-learn (donor ranking) + Groq (NLP request parsing)

🔐 Privacy & Safety by Design

  • Phone numbers are masked by default and only revealed after a challenge + rate limit.
  • QR tokens are opaque and cannot be enumerated from user IDs.
  • NID data retention is time-bound and automatically purged.
  • Audit trails and shadow-ban keep suspicious activity contained.

⚙️ Local Setup (Laravel App)

Prerequisites: PHP 8.2+, Composer, Node.js 18+, MySQL 8+, Redis

  1. Install dependencies:
    • composer install
    • npm install
  2. Configure environment:
    • copy .env.example .env
    • Update DB, Redis, Firebase, and OAuth settings in .env
  3. Bootstrap app:
    • php artisan key:generate
    • php artisan migrate
  4. Build assets:
    • npm run build

Run locally:

  • composer run dev (Laravel server + queue + logs + Vite)

🧠 Local Setup (ML Service)

Prerequisites: Python 3.10+

  1. Install dependencies:
    • pip install -r roktodut-ml-service\requirements.txt
  2. Run API:
    • uvicorn roktodut-ml-service.main:app --host 127.0.0.1 --port 8001

Required env: ROKTODUT_API_KEY (or default ROKTODUT_AI_SECRET), GROQ_API_KEY for NLP parsing.


🧪 Useful Commands

Task Command
Run dev stack composer run dev
Build assets npm run build
Run tests composer run test
Ops check composer run ops-check
Smoke check composer run smoke-check

👥 Team

Name Role / Contribution GitHub
Jahid Hasan Lead Backend, Database Architecture, Security @jahidstm
Md. Alif Khan Frontend Refactoring, API Integration, UI Components @3alif
Nohzat Tabassum UI/UX, OAuth Integration, System Documentation @NohzatTabassum
Mst. Moumita Rahman Meem Database Seeders, Localization, Demo Data @Meem-1137
Built with ❤️ for humanity. Every drop counts.

About

রক্তদূত — বিশ্বাসযোগ্য রক্তদাতা খোঁজার স্মার্ট ও অটোমেটেড প্ল্যাটফর্ম

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages