{"id":24018471,"url":"https://github.com/kieubaduong/boka","last_synced_at":"2025-05-07T04:24:15.604Z","repository":{"id":176564163,"uuid":"645261171","full_name":"kieubaduong/Boka","owner":"kieubaduong","description":"Book reading application with recommendation algorithm to suggest personalized book recommendations","archived":false,"fork":false,"pushed_at":"2024-05-16T23:01:32.000Z","size":7070,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T06:22:47.288Z","etag":null,"topics":["chaquopy","compose-navigation","gson","jetpack-compose","material3-android","modern-app-architecture","okhttp3","python3","retrofit2"],"latest_commit_sha":null,"homepage":"","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/kieubaduong.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":"2023-05-25T09:09:50.000Z","updated_at":"2024-08-03T13:19:50.000Z","dependencies_parsed_at":"2025-02-25T21:40:46.023Z","dependency_job_id":null,"html_url":"https://github.com/kieubaduong/Boka","commit_stats":null,"previous_names":["kieubaduong/boka"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kieubaduong%2FBoka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kieubaduong%2FBoka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kieubaduong%2FBoka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kieubaduong%2FBoka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kieubaduong","download_url":"https://codeload.github.com/kieubaduong/Boka/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252811425,"owners_count":21807934,"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":["chaquopy","compose-navigation","gson","jetpack-compose","material3-android","modern-app-architecture","okhttp3","python3","retrofit2"],"created_at":"2025-01-08T10:16:33.654Z","updated_at":"2025-05-07T04:24:15.578Z","avatar_url":"https://github.com/kieubaduong.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Book Recommendation App\n\nThis is an Android application built using Jetpack Compose and follows the principles of Clean Architecture. The app provides a user-friendly interface for browsing and discovering books, as well as personalized book recommendations based on user preferences.\n\n## Features\n\n- User registration and authentication\n- Book search and browsing\n- Personalized book recommendations using content-based and collaborative filtering algorithm\n- Book details with images, tags, descriptions, ratings\n- Bookshelf for managing favorite books\n\n## Technologies Used\n\n- Android Jetpack Compose\n- Modern app architecture\n- Chaquopy (Python SDK)\n- [Book Recommendation Algorithm](https://github.com/kieubaduong/Book-Recommendation-Algorithms)\n\n## Project Structure\n\n```\n├── core\n├── data\n│   ├── model\n│   ├── network\n│   │   ├── api\n│   │   ├── auth\n│   │   │   ├── body\n│   │   │   └── result\n│   └── repository\n├── navigation\n├── ui\n│   ├── MainActivity.kt\n│   ├── features\n│   ├── common\n│   └── theme\n└── util\n```\n\nThe project follows the Clean Architecture principles, which separates the codebase into layers:\n\n- `core`: Contains all type of class using across the application.\n- `data`: Implements the data access layer + domain layer, including remote data sources, repositories and the business logic.\n  - `model`: Contains data class for the ui consume.\n  - `body`: Contains data class for the body HTTP request.\n  - `result`: Contains data class for the body HTTP result.\n- `ui`: Implements the presentation layer, including view models and UI screens.\n- `navigation`: Implements the navigation graph.\n- `util`: Contains helper method and extensions.\n- `features`: Contains main screen and viewmodel.\n\n## Screenshots\n\n|                                       |                                        |                                         |\n| :-----------------------------------: | :------------------------------------: | :-------------------------------------: |\n|             Splash Screen             |                Sign In                 |               Home Screen               |\n|  ![](.github/screenshots/splash.jpg)  |   ![](.github/screenshots/login.jpg)   |  ![](.github/screenshots/home-page.jpg) |\n|               Book Detail             |              Rated Books               |                 Saved Books                  |\n|![](.github/screenshots/book-detail.jpg) |  ![](.github/screenshots/rated-books.jpg)   | ![](.github/screenshots/favorite-book.jpg) |\n|               Profile                         \n|   ![](.github/screenshots/profile.jpg)     \n\n## Prerequisites\n\n- Android Studio Hedgehog Canary 1 (2023.1.1.1) or higher\n- Kotlin 1.8.10 or higher\n- Android minSdk 30\n- Python 3.8\n\n### Todo\n\n- Dependency injection with Dagger \u0026 Hilt\n\n## Contributors✨\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://github.com/kieubaduong\"\u003e\n        \u003cimg src=\"https://avatars.githubusercontent.com/u/75083331?v=4\" width=\"100px;\" alt=\"\"/\u003e\n        \u003cbr /\u003e\n        \u003csub\u003e\u003cb\u003eKieu Ba Duong\u003c/b\u003e\u003c/sub\u003e\n      \u003c/a\u003e\n      \u003cbr /\u003e\n      \u003csub\u003eMobile developer\u003c/sub\u003e\n      \u003cbr /\u003e\n      \u003csub\u003eML researcher\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkieubaduong%2Fboka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkieubaduong%2Fboka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkieubaduong%2Fboka/lists"}