8000 GitHub - usamayasin/GalleryApp
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

usamayasin/GalleryApp

Repository files navigation

Custom Gallery

An simple Gallery to showcase images and videos available on the device

Built with ❤︎ by Muhammad Usama Yasin

Features

  • Home Screen showing list of albums available on device
  • Each albums shows thumbnail with respective folder name and file count.
  • Detail Screen to show content of album
  • Switch Layout from Grid to Linear and vice versa
  • View Screen available if you click on Image/Video it will be presented to the user

Architecture

  • Built with Modern Android Development practices following up CLEAN architecture with MVVM
  • Utilized Repository pattern for data.
  • Includes valid Unit tests for Repository.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying data changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
  • Dependency Injection
    • Hilt - Easier way to incorporate Dagger DI into Android apps.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
  • MockK - For Mocking and Unit Testing.
  • Glide - Glide is a fast and efficient open source media management and image loading framework for Android.

Improvements:

  • Can be done in Multi Module
  • Add more Unit/UI Tests
  • Build UI with Compose
  • Add more error handling

Running Code

  1. Android Studio:
  2. Build your project (Build -> Rebuild Project).
  3. Run your app (Run -> Run 'app').

Unit Tests

  1. Android Studio:
  • Right-click on a test class and select "Run 'test class name'".
  • Use the test runner in the Android Studio toolbar.
  1. Command Line:
  • ./gradlew testDebugUnitTest
  1. Unit Test Coverage Android Studio:
  • Right-click on a test class and select "Run with Coverage".
  • This will open a coverage report in the Android Studio window.

Screenshots

Screenshot 2024-08-06 at 8 32 44 PM Screenshot 2024-08-06 at 8 32 32 PM Screenshot 2024-08-06 at 8 32 24 PM Screenshot 2024-08-06 at 8 32 13 PM

👨 Developed By

Muhammad Usama Yasin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0