This React Native app allows users to browse job listings with features such as infinite scrolling, bookmarking jobs, and viewing detailed job information.
- Shimmer Effect: Upon loading the app, a shimmer effect is displayed on job cards while fetching data from the API.
- Job Listings: Jobs are rendered using a FlashList.
- Job Details: Clicking on a job card navigates the user to a detailed view of the job with an option to bookmark/unbookmark.
- Bookmarking: Bookmarked jobs are stored locally using Redux Persist and AsyncStorage, ensuring availability even offline.
- Infinite Scrolling: Implemented using useInfiniteQuery from React Query to handle pagination seamlessly.
- Custom Modal Component: Created a custom modal for user interactions and alerts.
- Code Quality: Followed TypeScript for type safety, handled loading states, API errors, and failures effectively. Used react.memo for optimizing performance where necessary etc.
To run the app locally on android, follow these steps:
-
Clone the repository:
https://github.com/sargunkohli152/JobBookmarkApp.git
-
Navigate to the project directory:
cd JobBookmarkApp -
Install dependencies:
npm install
-
Connect to an android emulator or physical android device
-
Generate build and run metro server
npm run android
- React Native
- React
- TypeScript
- Redux Persist
- AsyncStorage
- React Query
Contributions are welcome! If you find any bugs or have suggestions for improvement, please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License



