{"id":26671874,"url":"https://github.com/imadsaddik/randomayahgenerator","last_synced_at":"2026-05-09T19:34:57.331Z","repository":{"id":275935560,"uuid":"927648971","full_name":"ImadSaddik/RandomAyahGenerator","owner":"ImadSaddik","description":"Generate random pair of Quran verses before going to pray.","archived":false,"fork":false,"pushed_at":"2025-03-22T16:55:16.000Z","size":4969,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T17:36:56.354Z","etag":null,"topics":["android-application","android-studio","java","quran","quran-app","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Java","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/ImadSaddik.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":"2025-02-05T10:04:57.000Z","updated_at":"2025-03-22T16:55:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"1fe980b2-e386-4220-a0d4-a83839dacdf4","html_url":"https://github.com/ImadSaddik/RandomAyahGenerator","commit_stats":null,"previous_names":["imadsaddik/randomayahgenerator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImadSaddik%2FRandomAyahGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImadSaddik%2FRandomAyahGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImadSaddik%2FRandomAyahGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImadSaddik%2FRandomAyahGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ImadSaddik","download_url":"https://codeload.github.com/ImadSaddik/RandomAyahGenerator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566323,"owners_count":20636439,"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":["android-application","android-studio","java","quran","quran-app","sqlite"],"created_at":"2025-03-26T00:35:22.604Z","updated_at":"2026-05-09T19:34:57.298Z","avatar_url":"https://github.com/ImadSaddik.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Random Ayah Generator\n\nAn Android application that allows users to bookmark and generate random Quranic verses (Ayahs). It features a built-in Quran database, bookmarking functionality, playback count tracking, and a dashboard for viewing statistics. The app supports both light and dark modes.\n\n## Features\n\n### Random ayah generation\n\nGenerates random pairs of Ayahs from the bookmarked Ayahs.  \n\u003cimg src=\"screenshots/random_ayah_home_light.jpg\" alt=\"Random Ayah Generation (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/random_ayah_home_dark.jpg\" alt=\"Random Ayah Generation (Dark)\" width=\"250\"/\u003e\n\u003cbr/\u003e\n\u003cimg src=\"screenshots/generated_pair_light.jpg\" alt=\"Random Ayah Generation (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/generated_pair_dark.jpg\" alt=\"Random Ayah Generation (Dark)\" width=\"250\"/\u003e\n\n### Bookmark ayahs\n\nAllows users to manually add and bookmark Ayahs, either individually or entire Surahs.  \n\u003cimg src=\"screenshots/add_ayah_dialog_light.jpg\" alt=\"Add Ayah Dialog (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/add_ayah_dialog_dark.jpg\" alt=\"Add Ayah Dialog (Dark)\" width=\"250\"/\u003e\n\n### Add complete surah\n\nEasily bookmark all Ayahs from a selected Surah.  \n\u003cimg src=\"screenshots/add_complete_surah_light.jpg\" alt=\"Add Complete Surah Checkbox (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/add_complete_surah_dark.jpg\" alt=\"Add Complete Surah Checkbox (Dark)\" width=\"250\"/\u003e\n\n### View bookmarked ayahs\n\nScrollable list with infinite scrolling to view all bookmarked Ayahs.  \n\u003cimg src=\"screenshots/view_data_light.jpg\" alt=\"View Bookmarked Data (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/view_data_dark.jpg\" alt=\"View Bookmarked Data (Dark)\" width=\"250\"/\u003e\n\n### Delete bookmarked ayahs\n\nDelete individual Ayahs from bookmarks with confirmation.  \n\u003cimg src=\"screenshots/delete_ayah_light.jpg\" alt=\"Delete confirmation (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/delete_ayah_dark.jpg\" alt=\"Delete confirmation (Dark)\" width=\"250\"/\u003e\n\n### Dashboard\n\nDisplays statistics like the most played Ayahs, most played Surahs, and total play count.  \n\u003cimg src=\"screenshots/dashboard_light_1.jpg\" alt=\"Dashboard (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/dashboard_dark_1.jpg\" alt=\"Dashboard (Dark)\" width=\"250\"/\u003e\n\u003cbr/\u003e\n\u003cimg src=\"screenshots/dashboard_light_2.jpg\" alt=\"Dashboard (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/dashboard_dark_2.jpg\" alt=\"Dashboard (Dark)\" width=\"250\"/\u003e\n\n### Navigation drawer\n\nFacilitates smooth navigation between different activities.  \n\u003cimg src=\"screenshots/navigation_drawer_light.jpg\" alt=\"Navigation Drawer (Light)\" width=\"250\"/\u003e\n\u003cimg src=\"screenshots/navigation_drawer_dark.jpg\" alt=\"Navigation Drawer (Dark)\" width=\"250\"/\u003e\n\n### Database management\n\n- **Save Database:** Export the bookmarked Ayahs database to a file.  \n- **Load Database:** Import a previously saved database, replacing the current bookmarks.  \n- **Delete All Data:** Clear all bookmarked Ayahs.\n\n## Setup and usage\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone git@github.com:ImadSaddik/RandomAyahGenerator.git\n   ```\n\n2. **Open the project in Android Studio.**\n\n3. **Build and run the application** on an emulator or physical device.\n\n## Key concepts\n\nI learned a lot while working on this project. First, I made wireframes for each part of the app before writing any code. This helped me see how the app would look and made it easier to build in Android Studio.  \n\nFrom the start, I designed the app to support both light and dark modes. When I switched themes, I also figured out how to use state management to reload data that got lost during the switch.  \n\nI learned how to manage SQLite databases, create navigation drawers, and use infinite scrolling to go through the stored data smoothly.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimadsaddik%2Frandomayahgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimadsaddik%2Frandomayahgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimadsaddik%2Frandomayahgenerator/lists"}