Coder Social home page Coder Social logo

article-app-assignment's Introduction

Assignment for Android Support Engineer

Application DEMO Video : Click here to see the Application

Application link : Click here to download apk

Overview :

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.

📷 Demo :

start

Screenshots :

News home Sort News Notification

Features :

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

Tools and Tech stack used 🛠 :

  • 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.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • LiveData - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • 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”.
News home

article-app-assignment's People

Contributors

uknow-iknow avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.