Skip to content

iamaanahmad/gaza-aid-trust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ₯ Gaza Aid & Trust

Crisis Response Coordination Platform

License: MIT TypeScript Next.js React Firebase PWA Build Status Code Coverage

A humanitarian crisis response platform connecting aid providers with those in need through transparent, community-verified coordination.

🌐 Live Demo β€’ πŸ“– Documentation β€’ 🀝 Contributing β€’ πŸ›‘οΈ Security

Gaza Aid & Trust Preview


✨ Features

🚨 Crisis Map & Alerts

  • 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 Coordination

  • 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

πŸ•Œ Islamic Features

  • Zakat Calculator: Islamic charitable giving calculator with aid integration
  • Prayer Times: Local prayer time display for Gaza region
  • Multilingual Support: Arabic and English interface

πŸ”’ Privacy & Security

  • 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

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ (LTS recommended)
  • npm or yarn
  • Firebase project (optional for full functionality)
  • Mapbox token (for maps)

Installation

# 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 dev

Visit http://localhost:3000 to see the application running!

Environment Setup

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

πŸ“± Screenshots

Crisis Map View

Crisis Map

Aid Request Form

Aid Request

Mobile Responsive Design

Mobile View

Zakat Calculator

Zakat Calculator

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Next.js App   β”‚    β”‚    Firebase     β”‚    β”‚     Mapbox      β”‚
β”‚   (Frontend)    │◄──►│  Firestore DB   β”‚    β”‚   Maps API      β”‚
β”‚                 β”‚    β”‚  Auth & Storage β”‚    β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  PWA Features   β”‚    β”‚  AI Trust Score β”‚    β”‚  Offline Sync   β”‚
β”‚  Service Worker β”‚    β”‚  Calculations   β”‚    β”‚  Local Storage  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

  • 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

πŸ“ Project Structure

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

πŸš€ Deployment

Vercel (Recommended)

Deploy with Vercel

  1. Connect your GitHub repository to Vercel
  2. Add environment variables in Vercel dashboard
  3. Deploy automatically on every push

Manual Deployment

# Build for production
npm run build

# Start production server
npm start

Docker Support

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

🀝 Contributing

We welcome contributions from developers, designers, and humanitarian experts!

Ways to Contribute

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Ensure all checks pass: npm run lint && npm run typecheck && npm run test
  5. Submit a pull request

πŸ“Š Impact & Usage

  • 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

πŸ›‘οΈ Security & Privacy

  • 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.

πŸ“„ License

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

πŸ™ Acknowledgments

  • 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

Special Thanks

  • 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

About

A community-powered crisis map and direct aid platform for Gaza, built with trust and accessibility at its core.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •