Job Search App
A Flutter application showcasing various features for job search and management. This app make use of an API to show latest jobs and provide many advanced features for a seamless user experience.
Features
This Flutter app demonstrates a range of powerful features tailored for efficient job search and management:
-
State Management: The app utilizes the GetX package for robust and reactive state management, ensuring seamless updates to the UI as the app’s state changes.
-
Authentication: Employing Firebase, the app integrates user authentication, offering smooth and secure sign-in, sign-up, and sign-out functionalities.
-
Atomic Folder Structure: The app follows an atomic design folder structure, enhancing code organization and making it scalable.
-
Model-Controller-Presentation Architecture: Adopting a structured architecture, the app separates data models, controllers, and presentation components, promoting maintainable and modular code.
-
Local Data Fetching: Data is fetched locally from a JSON file, ensuring rapid and smooth data loading without the need for constant network access.
-
API Integration: Real-time job listings are retrieved from the Google Jobs API, providing up-to-date and relevant job opportunities.
-
Modular Widgets: UI components are organized into modular widgets, streamlining development and enhancing the user experience by enabling swift navigation and interactivity.
-
Push Notifications: The app leverages the OneSignal service to deliver push notifications, enhancing user engagement and communication.
-
Global Styles and Themes: To ensure a consistent and visually appealing UI, the app defines global styles, themes, and app constants.
-
Scalable Wrappers: Multiple wrappers are strategically integrated to facilitate scalability, making it easy to expand the app’s functionality as required.
-
Launcher Icon Customization: The app features a customized launcher icon, reinforcing branding and enhancing visual identity.
-
Reactive Programming: The app explores the principles of reactive programming, employing them in state management and UI updates for optimal performance.
-
Navigation with GetX: Utilizing GetX, the app seamlessly handles navigation and routing, ensuring a smooth and intuitive user experience.
-
Direct Application Links: Users are provided with direct links to job application websites, simplifying the process of applying to desired positions.
-
Webview Integration: Clicking the apply button opens a webview, directing users to the application website and simplifying the application process.
-
Comprehensive Job Details: The app presents comprehensive job details, including responsibilities, location, benefits, and company information, facilitating informed decisions by job seekers.
-
Save Job Functionality: Users can save jobs of interest, and these saved jobs can be easily accessed in a dedicated ‘Saved Jobs’ screen.
-
Bottom Navigation Bar: The app features an elegant bottom navigation bar, simplifying navigation between various screens and enhancing user flow.
Screenshots
Getting Started
- Clone the repository:
git clone https://github.com/Harshit-Kotecha/job_search_app.git
- Navigate to the project directory:
cd your-repo
- Install dependencies:
flutter pub get
- Run the app:
flutter run
Dependencies
A list of key dependencies and packages used in this project:
- GetX: For state management and navigation.
- Firebase: Enabling Firebase integration.
- http: Used for fetching data from APIs.
- flutter_svg: Rendering SVG images.
- onesignal_flutter: Enabling push notifications.
Contributing
Contributions are welcome! If you encounter issues or wish to enhance the project, please open a pull request. Or you can reach out to me at [email protected].
License
This project is licensed under the MIT License – see the LICENSE file for details.