Skip to content

Latest commit

 

History

History
92 lines (74 loc) · 3.23 KB

README.md

File metadata and controls

92 lines (74 loc) · 3.23 KB

Book Recommendation App

This 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.

Features

  • User registration and authentication
  • Book search and browsing
  • Personalized book recommendations using content-based and collaborative filtering algorithm
  • Book details with images, tags, descriptions, ratings
  • Bookshelf for managing favorite books

Technologies Used

Project Structure

├── core
├── data
│   ├── model
│   ├── network
│   │   ├── api
│   │   ├── auth
│   │   │   ├── body
│   │   │   └── result
│   └── repository
├── navigation
├── ui
│   ├── MainActivity.kt
│   ├── features
│   ├── common
│   └── theme
└── util

The project follows the Clean Architecture principles, which separates the codebase into layers:

  • core: Contains all type of class using across the application.
  • data: Implements the data access layer + domain layer, including remote data sources, repositories and the business logic.
    • model: Contains data class for the ui consume.
    • body: Contains data class for the body HTTP request.
    • result: Contains data class for the body HTTP result.
  • ui: Implements the presentation layer, including view models and UI screens.
  • navigation: Implements the navigation graph.
  • util: Contains helper method and extensions.
  • features: Contains main screen and viewmodel.

Screenshots

Splash Screen Sign In Home Screen
Book Detail Rated Books Saved Books
Profile

Prerequisites

  • Android Studio Hedgehog Canary 1 (2023.1.1.1) or higher
  • Kotlin 1.8.10 or higher
  • Android minSdk 30
  • Python 3.8

Todo

  • Dependency injection with Dagger & Hilt

Contributors✨


Kieu Ba Duong

Mobile developer
ML researcher