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.
- 🤖 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.
- Framework: Flutter
- State Management: Provider
- Local Location: Geolocator
- UI Components: Font Awesome Icons, Lottie Animations, EasyLoading
- Framework: FastAPI (Python)
- ML Model: Scikit-learn (Random Forest)
- Deployment: Uvicorn
Before you begin, ensure you have the following installed:
- Flutter SDK (latest version)
- Python 3.10+
- Firebase Account
- An Android Emulator, iOS Simulator, or physical device.
git clone https://github.com/your-username/skill_finder.git
cd skill_finder- Create a new project in the Firebase Console.
- Enable Authentication, Cloud Firestore, and Firebase Storage.
- Register your Android/iOS app.
- Download and place:
google-services.jsoninandroid/app/GoogleService-Info.plistinios/Runner/
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 8000cd ..
flutter pub getIn your terminal (with the venv activated):
cd backend-python
uvicorn main:app --host 0.0.0.0 --port 8000The API will run at http://localhost:8000
Open a new terminal:
flutter runlib/
├── 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
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
