Skip to content

Luficerr/Project-BP3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FUNSPLASH πŸ“Έ

Simple Unsplash Photo Browser App - v1.0

FUNSPLASH adalah aplikasi Android berbasis Kotlin yang memungkinkan pengguna menjelajahi, melihat detail, menyimpan (bookmark), dan mengunduh foto dari layanan Unsplash API. Aplikasi ini dirancang dengan pendekatan modern Android Development menggunakan arsitektur MVVM, serta berfokus pada tampilan yang clean, konsisten, dan mudah digunakan.

Kotlin Android MVVM Room

Home Detail Bookmark


Table of Contents


✨ Features

  • Browse photos from Unsplash API
  • View photo details (author, likes, downloads, description)
  • Bookmark / unbookmark photos
  • Persistent bookmarks using Room Database
  • Download photos to local storage
  • Edit profile photo from device gallery
  • Dark Mode support
  • Clean UI with Material Design + Collapsing Toolbar

πŸ“± App Pages

  1. Authentication

    • Sign In
    • Sign Up
  2. Home

    • List of photos from Unsplash API
    • Infinite scroll
  3. Detail Photo

    • Hero image (collapsing effect)
    • Author, likes, downloads, description
    • Bookmark & Download button
  4. Bookmark

    • List of saved photos
    • Click item β†’ open detail photo
  5. Profile

    • Display name & email
    • Change profile photo
    • Logout

πŸ› οΈ Technical Stack

  • πŸ’™ Kotlin (Native Android)
  • πŸ’š Retrofit (REST API Client)
  • πŸ’› Glide (Image Loader)
  • πŸ’œ Room Database (Local Storage)
  • 🧑 ViewModel + LiveData
  • πŸ’™ RecyclerView
  • πŸ’œ Material Design Components

🧱 Architecture

FUNSPLASH menggunakan pola MVVM (Model - View - ViewModel):

  • Model Data classes, Room Entity, DAO, API response

  • View Activity & Fragment

  • ViewModel Mengelola state UI dan komunikasi ke Repository

  • Repository Menghubungkan ViewModel dengan API & Database

Keuntungan MVVM:

  • Kode lebih terstruktur
  • Mudah dipelihara
  • Memisahkan logika bisnis dari UI

πŸ’Ύ Data Storage

Aplikasi ini tidak menggunakan server-side database.

  1. SharedPreferences

    • Menyimpan session login
    • Nama, email, dan foto profil
  2. Room Database

    • Menyimpan data foto yang di-bookmark
    • Data tersimpan lokal di device
  3. API (Unsplash)

    • Mengambil data foto secara online

πŸš€ Installation

  1. Clone repository:
git clone https://github.com/Luficerr/Project-BP3.git
  1. Buka project di Android Studio

  2. Tambahkan API Key Unsplash di:

local.properties
UNSPLASH_ACCESS_KEY=your_api_key_here
  1. Run aplikasi di emulator atau device

πŸŽ“ Purpose

Project ini dikembangkan sebagai:

  • Media pembelajaran Android Native Kotlin
  • Latihan implementasi MVVM & Room Database
  • Pemenuhan tugas akhir mata kuliah Bahasa Pemrograman 3 (BP3)

Creator

Lutfi Faiz Ziyadatullah (Luficerr)

Connect via Email

If you like this project, please give it a ⭐


API Used


License

Copyright Β© 2025-2026 Lutfi Faiz Ziyadatullah. All rights reserved.

About

πŸ“² Android Application to explore, view details, save (bookmark), and download photos built using the Unsplash Developers API. Used Retrofit to fetch data and MVVM Architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages