Skip to content

abhaysaini/Gallery_App

Repository files navigation

Gallery App

Gallery App can access your photos from anywhere with security.!

This project is developed by Abhay Saini for Learning Purpose.

Blog ✍

To know more about how I build this project, read my article on Will Update soon

Application Install

You can Install the app from below 👇

DocuBox

Setup

  • Clone the repository on your machine.
  • set it up by following its README.

About

  • Fully functional.
  • Clean and Simple Material UI.

App Features

  • Image Gallery - Browse through your entire photo collection with ease
  • Paging 3 Integration - Seamlessly navigate through your extensive image library with the power of Paging 3 library, ensuring smooth performance even with large datasets.
  • MVVM Architecture - Built using the Model-View-ViewModel architecture pattern, promoting separation of concerns and maintainability of code.
  • Zoom In and Zoom Out - Get a closer look at your photos with zoom in and zoom out functionality, allowing you to appreciate every detail.

Insights into the app 🔎

📸 Screenshots

Technical details

  • This app is made using Kotlin and follows Modern Android Development practices.
  • This app uses Kotlin Coroutines and Flow to handle all asynchronous tasks.
  • This app uses some Jetpack libraries, Kotlin + XML, and follows MVVM architecture.
  • This app code follows all the best practices and software development principles which makes it a very good learning resource for beginners as well as for people looking to improve their software design skills.

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.
    • 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.
  • Coil - An image-loading library for Android backed by Kotlin Coroutines.
  • Glide - An image-loading library for Android powered by a powerful and flexible image loading and caching engine.

Package Structure

com.example.galleryapp     # Root Package
.
├── data                   # For data handling.
|   ├── model              # Model data classes 
│   ├── repo               # Single source of data.
│   └── paging             # Pagination logic and data sources.
|
├── ui                     # UI/View layer
|   ├── adapters           # Adapter, ViewHolder 
|   └── screens            # All App Screens 

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contact

If you need any help, you can connect with me.

Visit:- Abhay Saini