A modern, premium job portal application built with Flutter, Firebase, and Riverpod.
- Role-Based Access: Specialized and separate dashboards tailored for both Candidates and Employers.
- Media Integration: Seamless profile picture and PDF Resume uploads integrated via the Cloudinary API.
- Real-Time Database: Robust backend powered by Firebase Firestore for real-time job postings and application tracking.
- Modern UI: A premium Dark Mode design featuring custom interactive widgets and smooth, declarative routing via GoRouter.
- Architecture: Engineered with a strict MVVM (Model-View-ViewModel) architectural pattern utilizing Riverpod for robust, scalable state management.
Successfully resolved the common Google Sign-In DEVELOPER_ERROR handshake issue by correctly configuring and verifying the SHA-1 fingerprints in the Firebase Console and correctly registering the Android app credentials.
Implemented unsigned Cloudinary uploads directly from the Flutter client. This allowed for secure and efficient direct-to-cloud media uploads (specifically for profile images and PDF resumes) without the overhead of maintaining a dedicated backend server for file processing.
- Flutter SDK
- Dart SDK
- Firebase project (Authentication & Firestore) setup
- Cloudinary Account (Cloud name and unsigned upload preset)
-
Clone the repository:
git clone https://github.com/Siddhesh100711/Job_Portal.git
-
Navigate to the project directory:
cd ag_jobportal # or wherever the repo is cloned
-
Install dependencies:
flutter pub get
-
Run the application:
flutter run
Note: Ensure that
lib/firebase_options.dartis populated with your specific Firebase configurations before running.