{"id":18535337,"url":"https://github.com/sanjinkurelic/sightslocator","last_synced_at":"2026-05-14T13:43:23.168Z","repository":{"id":43902365,"uuid":"333011966","full_name":"SanjinKurelic/SightsLocator","owner":"SanjinKurelic","description":"Sights Locator is an Android application for searching and viewing information about famous landscapes near you.","archived":false,"fork":false,"pushed_at":"2022-02-13T21:52:00.000Z","size":8239,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T01:41:45.676Z","etag":null,"topics":["android","androidrx","bottomnavigationbar","databinding","fragments","googlemaps","java","javarx","lombok","mvvm-pattern","navigation-drawer","picasso","picasso-transformations","preferences","reactivex","recyclerview","retrofit2","room-database","viewbinding","viewholder"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SanjinKurelic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-26T07:57:41.000Z","updated_at":"2024-09-20T11:50:32.000Z","dependencies_parsed_at":"2022-08-26T04:43:29.760Z","dependency_job_id":null,"html_url":"https://github.com/SanjinKurelic/SightsLocator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SanjinKurelic/SightsLocator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjinKurelic%2FSightsLocator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjinKurelic%2FSightsLocator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjinKurelic%2FSightsLocator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjinKurelic%2FSightsLocator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SanjinKurelic","download_url":"https://codeload.github.com/SanjinKurelic/SightsLocator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjinKurelic%2FSightsLocator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33027919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","androidrx","bottomnavigationbar","databinding","fragments","googlemaps","java","javarx","lombok","mvvm-pattern","navigation-drawer","picasso","picasso-transformations","preferences","reactivex","recyclerview","retrofit2","room-database","viewbinding","viewholder"],"created_at":"2024-11-06T19:22:29.612Z","updated_at":"2026-05-14T13:43:23.123Z","avatar_url":"https://github.com/SanjinKurelic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sights Locator\n\nSights Locator is an Android application for searching and viewing information about famous landscapes near you (currently only island Krk in Croatia is available as a destination). Sights Locator is written in Java using Model-View-ViewModel pattern.\n\n## Running\n\nDownload project and open it with Android Studio. Open `local.properties` and **add Google Map API key** which you can obtain here: [https://developers.google.com/maps/documentation/android-sdk/get-api-key](https://developers.google.com/maps/documentation/android-sdk/get-api-key). Add generated key in the file as follows:\n\n```\nsdk.dir=....\nMAPS_API_KEY=1234...\n```\n\nStart the application on Android with **SDK version 28** or higher.\n\n## GUI\n\n### Splash screen\n\nSplash screen uses RxJava (ReactiveX) observable to download data from the REST API (using Retrofit) and storing it in a local database (using RoomDAO). Splash screen also show few animations while the user waits for the data.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/splashScreen.png\" width=\"320\"/\u003e\u003c/p\u003e\n\n### List of sights\n\nAfter all data is downloaded/stored user is presented with a list of sights. The list is presented in RecyclerView that uses CardView layout (ViewHolder pattern). \n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/listView.png\" width=\"320\"/\u003e\u003c/p\u003e\n\nIt's possible to delete items from the list by swiping to the right.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/listSwipe.png\" width=\"320\"/\u003e\u003c/p\u003e\n\n### Item details\n\nBy clicking the item on the list or click the button in navigation, users can see more info about sight (using ViewPager).\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/itemDetails.png\" width=\"320\"/\u003e\u003c/p\u003e\n\n### Google Map\n\nFrom the bottom menu user can view all the nearby sights interactively on the map. By clicking on the marker user gets more info about sight.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/mapScreen.png\" width=\"320\"/\u003e\u003c/p\u003e\n\n### Exit\n\nUser can also exit the application by pressing the most left button. Before exiting confirmation prompt will be raised.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/SanjinKurelic/SightsLocator/blob/master/media/exitPrompt.png\" width=\"320\"/\u003e\u003c/p\u003e\n\n## Technologies\n\nTechnologies and patterns:\n\n- Java\n- MVVM\n- SOC, SRP, Contractors\n- ViewBinding \u0026 DataBinding\n- Fragments\n- Bottom navigation\n- RecyclerView\n- Adapters\n- ViewHolder\n- ViewPager\n- NavigationDrawer\n- Google maps\n- Animations\n\nDependencies:\n\n- AndroidX AppCompat\n- AndroidX ConstraintLayout\n- AndroidX NavigationUI\n- AndroidX Preference\n- AndroidX RoomDAO\n- Lombok\n- Picasso \u0026 Picasso transformations\n- ReactiveX (RxAndroid, RxJava)\n- Retrofit\n- RippleBackground\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanjinkurelic%2Fsightslocator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanjinkurelic%2Fsightslocator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanjinkurelic%2Fsightslocator/lists"}