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 harshitkotecha2000@gmail.com.
License
This project is licensed under the MIT License – see the LICENSE file for details.