/gharelu

On-Demand Handyman App build using Flutter and Firebase

Primary LanguageDart

Gharelu

Gharelu is a comprehensive on-demand handyman services platform built with Flutter, delivering a seamless experience for both users seeking home services and service providers offering their expertise.

🌟 Features

For Users

  • 🔍 Smart search with category and service type filters
  • 📅 Seamless appointment scheduling
  • 💬 Real-time chat with service providers
  • 📍 Location-based service provider discovery
  • 💳 Integrated payments (Khalti & eSewa)
  • 📱 Intuitive appointment management
  • ⭐ Service provider ratings and reviews

For Service Providers

  • 📊 Service listing management dashboard
  • 📨 Real-time appointment request notifications
  • 📆 Schedule and availability management
  • 💰 Secure payment processing through Khalti
  • 📈 Performance analytics and insights

Other Features

  • Real-time chat between users and service providers.
  • Secure authentication and user account management.
  • Integration with Google Maps for location-based search and appointment scheduling.

📱 Screenshots

Gharelu App Github Gharelu App Github Gharelu App Github
Gharelu App Github Gharelu App Github

🛠️ Tech Stack

  • Frontend: Flutter
  • Backend: Firebase
  • Database: Cloud Firestore
  • Authentication: Firebase Auth
  • Storage: Firebase Cloud Storage
  • Location Services: Google Maps
  • Payment Integration: Khalti, eSewa
  • Search: Algolia
  • Features: Firebase Cloud Functions

🚀 Getting Started

Prerequisites

  • Flutter (3.x or later)
  • Dart SDK
  • Android Studio / VS Code
  • Firebase CLI
  • Git

Installation Steps

  1. Clone the repository
git clone https://github.com/yourusername/gharelu.git
cd gharelu
  1. Install dependencies
flutter pub get
  1. Configure Firebase

    • Create a new Firebase project at Firebase Console
    • Enable required services:
      • Authentication
      • Cloud Firestore
      • Cloud Storage
      • Cloud Functions
    • Download configuration files:
      • Add google-services.json to android/app/
      • Add GoogleService-Info.plist to ios/Runner/
  2. Environment Setup Create a .env file in the project root:

MAPBOX_KEY=your_mapbox_key
GOOGLE_MAP_API_KEY=your_google_maps_key
ALGOLIA_APPLICATIONID=your_algolia_app_id
ALGOLIA_APIKEY=your_algolia_api_key
  1. Generate Required Code
flutter pub run build_runner build --delete-conflicting-outputs
  1. Run the application
flutter run

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contributing Guidelines

  • Follow the established code style and organization
  • Write meaningful commit messages
  • Include comments and documentation for new features
  • Add tests for new functionality
  • Update README.md with details of significant changes

📄 License

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

🙏 Acknowledgments

📞 Contact

For support or queries, please reach out to: