{"id":18736526,"url":"https://github.com/surajpurohitcode/lokaljobs","last_synced_at":"2025-11-16T17:30:15.644Z","repository":{"id":255518837,"uuid":"852327109","full_name":"Surajpurohitcode/LokalJobs","owner":"Surajpurohitcode","description":"This Android application was developed as part of an internship assignment. The app allows users to browse job listings, view detailed information about each job, and bookmark their favorite jobs for offline viewing.","archived":false,"fork":false,"pushed_at":"2024-09-04T16:11:53.000Z","size":147,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T16:45:17.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Surajpurohitcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-04T16:05:09.000Z","updated_at":"2024-12-27T08:36:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"c6ce9c78-f6fa-46ac-97d6-5d56e668a49a","html_url":"https://github.com/Surajpurohitcode/LokalJobs","commit_stats":null,"previous_names":["surajpurohitcode/lokaljobs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Surajpurohitcode%2FLokalJobs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Surajpurohitcode%2FLokalJobs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Surajpurohitcode%2FLokalJobs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Surajpurohitcode%2FLokalJobs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Surajpurohitcode","download_url":"https://codeload.github.com/Surajpurohitcode/LokalJobs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239611993,"owners_count":19668274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T15:21:15.419Z","updated_at":"2025-11-16T17:30:15.267Z","avatar_url":"https://github.com/Surajpurohitcode.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Intern Assignment - Job Listings App\n\nThis Android application was developed as part of an internship assignment. The app allows users to browse job listings, view detailed information about each job, and bookmark their favorite jobs for offline viewing.\n\n## Features\n\n- **Bottom Navigation UI**: The app includes a bottom navigation bar with two sections:\n  - **Jobs**: Displays a list of job postings fetched from the provided API endpoint using a paginated approach.\n  - **Bookmarks**: Displays all the jobs that have been bookmarked by the user for offline access.\n\n- **Job Listings Screen**:\n  - Fetches job data from the API: [https://testapi.getlokalapp.com/common/jobs?page=1](https://testapi.getlokalapp.com/common/jobs?page=1).\n  - Displays job title, location, salary, and contact information in a card view format.\n  - Supports pagination for loading jobs dynamically as the user scrolls.\n\n- **Job Details Screen**:\n  - Clicking on a job card shows more details related to that job on a new screen.\n\n- **Bookmark Functionality**:\n  - Users can bookmark any job by clicking a button on the job details screen.\n  - All bookmarked jobs are stored in an SQLite database using Room for offline viewing.\n\n- **Bookmarks Screen**:\n  - Displays all bookmarked jobs stored locally in the app's database.\n  - Allows users to view their saved jobs even when offline.\n\n- **Loading, Error, and Empty States**:\n  - Proper handling of loading, error, and empty states to ensure a smooth user experience.\n\n- **Best Practices and Clean Architecture**:\n  - Implements MVVM architecture for better code organization and maintainability.\n  - Utilizes Android Jetpack components (Paging, Room, ViewModel, LiveData) and other modern libraries.\n\n## Technologies and Libraries\n\n- **Programming Language**: Kotlin\n- **Architecture**: MVVM (Model-View-ViewModel)\n- **API Integration**: Retrofit with Kotlin Coroutines\n- **Pagination**: Paging 3 library\n- **Database**: Room (SQLite)\n- **Image Loading**: Glide\n- **UI Components**: Material Design Components, RecyclerView, SmoothBottomBar\n\n## Demo\n[Demo Apk](https://drive.google.com/file/d/1K-RiqLJBgyio-LpF_OVjDAyLlh2yB4qr/view?usp=sharing)\n\n## Getting Started\n\nTo run this project on your local machine:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/job-listings-app.git\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurajpurohitcode%2Flokaljobs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsurajpurohitcode%2Flokaljobs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurajpurohitcode%2Flokaljobs/lists"}