Skip to content

roshanevala/ReHome-SriLanka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🏠 ReBuild Homes SriLanka

License: MIT Angular Firebase TypeScript

An open-source platform connecting disaster-affected families with donors to rebuild homes in Sri Lanka.

🌟 About The Project

ReBuild Homes SriLanka is a transparent, verification-based platform that connects people who lost their homes in disasters with donors who want to help rebuild. While we initially launched this as a live service, we discovered that similar platforms with more extensive features already exist in the ecosystem. To maximize impact, we're open-sourcing this project so communities, NGOs, and developers worldwide can use, adapt, and improve it for their disaster relief efforts.

✨ Key Features

  • πŸ” Dual Portal System

    • Beneficiary portal for families to submit verified applications
    • Donor portal for individuals/organizations to offer support
  • βœ… Verification System

    • Document verification (GN letters, damage photos)
    • Application review and approval workflow
    • Priority scoring based on vulnerability
  • 🀝 Smart Matching

    • Connect verified families with donors
    • Full or partial house sponsorship
    • Pooled funding for high-priority cases
  • πŸ“Š Admin Dashboard

    • Application management
    • Donor tracking
    • Progress monitoring
    • Analytics and reporting
  • πŸ”’ Privacy & Security

    • Firebase Authentication
    • Role-based access control (Admin, Beneficiary, Donor)
    • Firestore security rules
    • Protected sensitive data

πŸ› οΈ Built With

  • Frontend: Angular 21 with TypeScript
  • Backend: Firebase (Firestore, Authentication, Storage, Hosting)
  • Styling: Tailwind CSS
  • State Management: RxJS

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Firebase account

Quick Setup

For detailed setup instructions, see our πŸ“– Setup Guide.

# Clone repository
git clone https://github.com/roshanevala/ReHome-SriLanka.git
cd ReHome-SriLanka

# Install dependencies
npm install

# Copy environment templates
cp src/environments/environment.ts.example src/environments/environment.ts
cp src/environments/environment.prod.ts.example src/environments/environment.prod.ts

# Add your Firebase config to environment.ts
# Then run the dev server
npm run dev

Visit http://localhost:4200/ to see the app running!

πŸ“– Documentation

Comprehensive documentation is available in the /docs directory:

Essential Guides

Project Documentation

Scripts & Tools

🎯 Use Cases

This platform can be adapted for:

  • Natural disaster relief (floods, earthquakes, cyclones)
  • War/conflict housing reconstruction
  • Community housing programs
  • NGO-managed relief operations
  • Government disaster response initiatives

🀝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Quick Start for Contributors

  1. Check our Setup Guide for detailed installation instructions
  2. Read the Contributing Guidelines
  3. Browse existing issues or create a new one
  4. Fork the repository and create your feature branch
  5. Submit a pull request with a clear description of your changes

πŸ› Troubleshooting

Common Issues

Build fails after cloning

rm -rf node_modules package-lock.json
npm install

Firebase connection errors

  • Verify your Firebase config in src/environments/environment.ts
  • Ensure Firestore rules are deployed: firebase deploy --only firestore:rules
  • Check that all Firebase services (Auth, Firestore, Storage) are enabled

Environment file errors

  • Copy the .example files: cp src/environments/environment.ts.example src/environments/environment.ts
  • Fill in your Firebase credentials from Firebase Console
  • Ensure no trailing commas or syntax errors in the config

Admin dashboard not accessible

  • Run the admin setup script: node scripts/set-admin.mjs your@email.com --confirm
  • Sign out and sign back in to refresh your token
  • See scripts/README.md for detailed admin setup instructions

Port 4200 already in use

ng serve --port 4300

For more troubleshooting help, see SETUP.md or create an issue.

πŸ“ License

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

πŸ™ Acknowledgments

  • Built with the intention to help disaster-affected families in Sri Lanka
  • Inspired by the resilience of communities recovering from natural disasters
  • Thanks to all contributors and supporters

πŸ“§ Contact

Roshane De Silva - @roshanevala

Project Link: https://github.com/roshanevala/ReHome-SriLanka


Note: This platform was initially developed as a live service but is now open-sourced to enable wider adoption and community-driven improvements. We encourage organizations and developers to use this as a foundation for their disaster relief initiatives.

About

A platform connecting disaster-affected families with donors to rebuild their homes. It provides a transparent and verified process for beneficiaries to apply for help and for donors to contribute effectively.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors