Skip to content

Fetches Data From YouTube API,uses Paging 3 Library, Hilt,MVVM architecture,Coroutines, CI CD integration, SDKs.

Notifications You must be signed in to change notification settings

MuindiStephen/YouTube-App

Repository files navigation

Youtube App

Youtube API Documentation

  • This is a Cloned-Youtube App that fetches popular Videos from [Youtube DATA API > Documentation] and uses Paging 3 Library in Android pagination

Generate Youtube Api key

Screens

Development Environment

  • You will require latest version of Android Studio 3.0 (or newer) to be able to build the app
  • Android Studio Dolphin | 2021.1.1 Patch 2 or Higher
  • Language: Kotlin
  • Build System: Gradle

Tech Stack

  • Tech Stack

    • Kotlin - First class and official programming language for Android development.
    • Android Jetpack https://developer.android.com/topic/libraries/data-binding/
      • Data Binding - A support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
      • LiveData - An observable,lifecycle-aware data holder.
      • Room - a persistence library provides an abstraction layer over SQLite.
      • Lifecycle - perform action when lifecycle state changes.
      • ViewModel - store and manage UI-related data in a lifecycle conscious way.
    • Kotlin coroutines - Executing code asynchronously.
    • Retrofit - Type-safe HTTP client for Android and Java and Kotlin by Square, Inc.
    • GsonConverterFactory - JSON library for Android, Java and Kotlin
    • OkHttp interceptor - Logs HTTP requests and responses
    • Flow - An asynchronous version of a Sequence, a type of collection whose values are lazily produced. Flow handles the stream of data asynchronously that executes sequentially.
    • Dagger-Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
    • Paging - 3 - The Paging library makes it easier for you to load data incrementally and gracefully within your app's UI
  • Gradle

    • Gradle Kotlin DSL - For reference purposes, here's an article explaining the migration.
    • Plugins
      • KtLint - creates convenient tasks in your Gradle project that run ktlint checks or do code auto format.

POSTMAN - Testing API

Screenshot (179) Screenshot (178)

Social Media

About

Fetches Data From YouTube API,uses Paging 3 Library, Hilt,MVVM architecture,Coroutines, CI CD integration, SDKs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages