Skip to content

Repository files navigation

🛠️ Skill Finder - AI Powered Service Marketplace

Skill Finder is a modern, AI-integrated Flutter application designed to connect users with skilled service providers. It uses a Random Forest Machine Learning model to recommend the best providers based on distance, feedback, and experience.

App Screenshot


🚀 Key Features

  • 🤖 AI Recommendations: Smart provider ranking using a Python-based FastAPI backend and Random Forest model.
  • 📍 Location-Aware: Finds service providers near you using the Haversine formula and device GPS.
  • 🔥 Firebase Integration:
    • Authentication: Secure login and signup.
    • Firestore: Real-time database for bookings and provider data.
    • Storage: Image uploads for profiles and job descriptions.
  • 📅 Booking System: Seamlessly book services and track your booking history.
  • 📱 Premium UI: Smooth animations with Lottie and a modern, responsive design.
  • 🛠️ Admin Dashboard: Dedicated screens for managing services and users.

🛠️ Tech Stack

Frontend (Mobile App)

  • Framework: Flutter
  • State Management: Provider
  • Local Location: Geolocator
  • UI Components: Font Awesome Icons, Lottie Animations, EasyLoading

Backend (AI Service)

  • Framework: FastAPI (Python)
  • ML Model: Scikit-learn (Random Forest)
  • Deployment: Uvicorn

📋 Prerequisites

Before you begin, ensure you have the following installed:


⚙️ Installation & Setup

1. Clone the Repository

git clone https://github.com/your-username/skill_finder.git
cd skill_finder

2. Configure Firebase

  1. Create a new project in the Firebase Console.
  2. Enable Authentication, Cloud Firestore, and Firebase Storage.
  3. Register your Android/iOS app.
  4. Download and place:
    • google-services.json in android/app/
    • GoogleService-Info.plist in ios/Runner/

3. Setup the Python Backend (ML API)

cd backend-python
# Create a virtual environment
python -m venv venv
# Activate it (Windows)
.\venv\Scripts\activate
# Activate it (Mac/Linux)
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run backend
uvicorn main:app --host 0.0.0.0 --port 8000

4. Setup Flutter App

cd ..
flutter pub get

🏃 How to Run

Step 1: Start the ML Backend

In your terminal (with the venv activated):

cd backend-python
uvicorn main:app --host 0.0.0.0 --port 8000

The API will run at http://localhost:8000

Step 2: Start the Flutter App

Open a new terminal:

flutter run

📁 Project Structure

lib/
├── models/         # Data models
├── providers/      # State management (ChangeNotifier)
├── screens/        # UI Screens (Auth, Home, Near Me, etc.)
├── services/       # Firebase & API service logic
└── widgets/        # Reusable UI components

backend-python/
├── main.py         # FastAPI entry point
├── model_rf.pkl    # Trained Random Forest model
└── requirements.txt # Python dependencies

📄 License

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


🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages