The Job Finder is a mobile application designed to simplify the job search process for job seekers and provide an efficient platform for employers to post vacancies and review potential candidates. Built using Flutter and Firebase, it leverages the MVVM architecture for scalability and maintainability and integrates Riverpod for state management.
- Introduction
- App Screens
- Features
- Tech Stack
- App Architecture
- Setup and Installation
- How to Use
- Roadmap
- Acknowledgments
The Job Finder addresses the challenges of traditional job-hunting by providing a centralized, user-friendly platform where:
- Job seekers can search, filter, and apply for job opportunities.
- Employers can post jobs, browse resumes, and connect with qualified candidates.
This project is designed to bridge the gap between job seekers and employers by utilizing modern technologies like cloud computing and big data analytics.
-
Job Search
- Search jobs by location, industry, salary, and job type.
- Save preferences for personalized job alerts.
-
Job Posting
- Employers can post job vacancies and view resumes.
- Review and manage applicant information.
-
Resume Upload
- Job seekers can upload and update resumes for employers to review.
-
Notifications
- Users receive notifications for new job postings or updates on their applications.
-
User Profiles
- Create and manage detailed profiles for both employers and job seekers.
-
Filter and Sorting
- Filter jobs by criteria like brand, price range, gender, and more.
- Sort results by recent postings, highest reviews, or lowest prices.
- Frontend: Flutter (Dart)
- Backend: Firebase (Firestore, Authentication, Cloud Functions)
- State Management: Riverpod
- Architecture: MVVM (Model-View-ViewModel)
- Version Control: GitHub
This app follows the MVVM Design Pattern to ensure a clear separation of concerns:
- Model: Handles data and business logic.
- ViewModel: Acts as a mediator between the Model and View.
- View: Displays the data to the user and interacts with the ViewModel.
For state management, Riverpod is used to:
- Handle dynamic updates in UI.
- Manage user preferences and job data efficiently.
- Install Flutter.
- Set up a Firebase project and configure it for your app:
- Enable Authentication.
- Set up Firestore for job data.
- Download the
google-services.json
file and place it inandroid/app
.
- Clone the repository:
git clone https://github.com/SoftwaricaCollege/final-assignment-Ruchan10.git
- Navigate to the project directory:
cd final-assignment-Ruchan10
- Install dependencies:
flutter pub get
- Run the app:
flutter run
-
Job Seekers:
- Sign up and complete your profile.
- Search and filter jobs using the Discover page.
- Apply for jobs and upload your resume.
-
Employers:
- Sign up as an employer and post job vacancies.
- Browse resumes and communicate with applicants.
-
Phase 1 (Complete):
- Basic UI development.
- Integration with Firebase for authentication and data storage.
-
Phase 2 (In Progress):
- Implement sorting and filtering options.
- Replace dummy data with real-time Firestore data.
-
Phase 3 (Future Enhancements):
- Add premium features for job seekers and employers.
- Integrate advanced analytics for job recommendations.
- Navigate to the Releases section of this repository.
- Download the latest demo APK.
- Install the APK on your Android device to explore the app.
- Figma Design: Provided .fig file as a blueprint.
- Firebase: Backend support for authentication and data handling.
- Flutter Community: For state management solutions like Riverpod.
Feel free to contribute, report issues, or provide feedback on the GitHub repository.