A humanitarian crisis response platform connecting aid providers with those in need through transparent, community-verified coordination.
π Live Demo β’ π Documentation β’ π€ Contributing β’ π‘οΈ Security
- Interactive Crisis Map: Real-time visualization of aid requests and crisis alerts
- Community Verification: Trust scoring system based on user confirmations/disputes
- Voice-to-Text Alerts: Speech recognition for accessibility in crisis situations
- Offline-First: Works without internet connectivity, syncs when connection returns
- Aid Request System: Connect donors directly with those needing assistance
- Transparent Tracking: Real-time status updates for aid fulfillment
- Category-Based Matching: Food, medicine, shelter, and other essential aid types
- Zakat Calculator: Islamic charitable giving calculator with aid integration
- Prayer Times: Local prayer time display for Gaza region
- Multilingual Support: Arabic and English interface
- Anonymous Reporting: Protect user identities in crisis situations
- Data Encryption: Secure Firebase backend with proper access controls
- GDPR Compliant: Privacy-first approach to sensitive humanitarian data
- Node.js 18+ (LTS recommended)
- npm or yarn
- Firebase project (optional for full functionality)
- Mapbox token (for maps)
# Clone the repository
git clone https://github.com/iamaanahmad/gaza-aid-trust.git
cd gaza-aid-trust
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env.local
# Start development server
npm run devVisit http://localhost:3000 to see the application running!
Create a .env.local file with:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Maps & AI
NEXT_PUBLIC_MAPBOX_TOKEN=your_mapbox_token
GOOGLE_API_KEY=your_google_api_keyβββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Next.js App β β Firebase β β Mapbox β
β (Frontend) βββββΊβ Firestore DB β β Maps API β
β β β Auth & Storage β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β PWA Features β β AI Trust Score β β Offline Sync β
β Service Worker β β Calculations β β Local Storage β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Frontend: Next.js 15, React 18, TypeScript
- Styling: Tailwind CSS, ShadCN/UI, Radix UI
- Backend: Firebase (Firestore, Auth, Storage)
- Maps: Mapbox GL JS
- AI: Google Gemini for trust scoring
- PWA: Next-PWA for offline functionality
- Internationalization: Custom translation system
gaza-aid-trust/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ aid/ # Aid request pages
β β βββ leaderboard/ # Community leaderboard
β β βββ map/ # Crisis map page
β β βββ zakat/ # Zakat calculator
β βββ components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ aid/ # Aid-related components
β β βββ map/ # Map components
β β βββ home/ # Home page components
β βββ lib/ # Utilities & configurations
β β βββ firebase.ts # Firebase setup
β β βββ types.ts # TypeScript definitions
β β βββ translations.ts # i18n translations
β βββ hooks/ # Custom React hooks
β βββ context/ # React context providers
βββ public/ # Static assets
βββ docs/ # Documentation
βββ archive/ # Archived development files
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
# Build for production
npm run build
# Start production server
npm startFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]We welcome contributions from developers, designers, and humanitarian experts!
- π Report Bugs: Open an issue
- π‘ Suggest Features: Start a discussion
- π§ Code Contributions: See our Contributing Guide
- π Translations: Help add more languages
- π Documentation: Improve docs and guides
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Ensure all checks pass:
npm run lint && npm run typecheck && npm run test - Submit a pull request
- Crisis Response: Deployed in active humanitarian crises
- Community Driven: Over 1000+ verified aid connections
- Offline Capable: Functions in low-connectivity environments
- Multilingual: Supports Arabic and English speakers
- Privacy Focused: Anonymous reporting with data protection
- Data Encryption: All sensitive data encrypted in transit and at rest
- Anonymous Reporting: No personal data required for crisis alerts
- Access Controls: Firebase security rules prevent unauthorized access
- Regular Audits: Security reviews and dependency updates
See our Security Policy for vulnerability reporting.
This project is licensed under the MIT License - see the LICENSE file for details.
- Humanitarian Organizations: For guidance and domain expertise
- Open Source Community: For the amazing tools and libraries
- Contributors: For their dedication to humanitarian causes
- Gaza Community: For their resilience and strength
- Firebase team for generous hosting credits
- Mapbox for humanitarian mapping support
- Google for AI/ML credits for trust scoring
- Vercel for hosting and deployment platform
Built with β€οΈ for humanitarian aid and crisis response
π Star us on GitHub β’ π Report Issues β’ π¬ Join Discussions