Application DEMO Video : Click here to see the Application
Application link : Click here to download apk
This Android application is a Article App built entirely in Kotlin, providing users with access to a wide range of news articles. It fetches news article details from a Provided API and displays them on the home screen. The displayed information includes headlines, descriptions, authors, and corresponding URLs, among other variables. When the user clicks on a listed headline, a browser window should load and display the corresponding article.
- Kotlin Development: Built entirely using Kotlin .
- Adhered to the MVVM (Model-View-ViewModel) design principle to architect the application's codebase effectively. Leveraged a combination of repository, view model, and LiveData components to manage API calls and facilitate data flow. This architectural approach fosters separation of concerns, ensuring code maintainability and scalability while promoting a clean and organized codebase.
- API Integration: Fetches news details from a specified Web API using System APIs.
- Material UI: Designed layouts with Material UI, employing RecyclerViews and card-based design for articles.
- Custom Design Elements: Incorporates custom design elements, fonts, and icons for a unique user experience.
- Enhanced User Experience: Prioritizes user experience with intuitive features and smooth navigation.
- Error Handling : Handles input exceptions, Unicode, and null values with clear code documentation.
- Sorting Functionality: Allows sorting and listing of articles based on old-to-new and new-to-old criteria.
- Firebase Cloud Messaging Integration: Implemented Firebase Cloud Messaging (FCM) to send remote notifications to mobile devices.
- Kotlin - First class and official programming language for Android development. Our app is totally written in kotlin.
- DataStore - Store data asynchronously, consistently, and transactionally, overcoming some of the drawbacks of SharedPreferences
- Material UI - Material 3 is the latest version of Google’s open-source design system. Design and build beautiful, usable products with Material 3.
- Different Layouts - In this app we have used difrenet layouts to make the app UI responsive. The used layouts are LinearLayout, ConstraintLayout and FrameLayout .
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Coroutines - For asynchronous and more. Speacially used at the time of networking calls and using database .
- RecyclerView - RecyclerView makes it easy to efficiently display large sets of data. To show large lists.
- Glide - Glide is a fast and efficient open-source media management and image loading framework for Android developed by bumptech. In this tutorial, we will use this awesome library to show an image from the internet on our apps screen.
- Shimmer - Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app, It is useful as an unobtrusive loading indicator, and was originally developed for Facebook Home.
- MVVM - MVVM is one of the architectural patterns which enhances separation of concerns, it allows separating the user interface logic from the business (or the back-end) logic. Its target (with other MVC patterns goal) is to achieve the following principle “Keeping UI code simple and free of app logic in order to make it easier to manage”.