Skip to content

It is an android app that uses MVVM with Android Jetpack to fetch latests kotlin repositories in github

License

Notifications You must be signed in to change notification settings

thiagoolsilva/github-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Icon

Latest Github Kotlin repositories

License Apache 2.0 minSdkVersion 23 compileSdkVersion 32 CI


Description

It is an app that will fetch latest kotlin repositories in github using android jetpack components.

Table of contents

Characteristics

This project brings to table set of best practices, tools, and solutions:

App Screenshot

Tech-stack

Tech-stack

Technology Description
Kotlin + Coroutines Perform background operations
hilt Dependency injection
Timber Logging
core-ktx Kotlin extensions
Flow Notify views about database change
swiperefreshlayout Visual refresh layout
Cardview CardView layout
Retrofit A type-safe HTTP client for Android and Java/Kotlin
Technology Description
Navigation Deal with whole in-app navigation
Room Database ORM
Paging 3 Deal with large data in RecycleView
ViewModel Store and manage UI-related data in a lifecycle conscious way
Constraintlayout Allows to build flexible layout
Test Tests

Tests

Technology Description
Robolectric Run Instrumentation test in JVM
Unit Tests Unit testing
core-testing Used to sync background tasks
kotlinx-coroutines-test Used to sync coroutines jobs
mockk Mock objects using kotlin's style
MockWebServer Mock http/https requests
fragment-testing Fragment Test library
hilt-android-testing Dependency inject for Test
Espresso Use Espresso to write concise, beautiful, and reliable Android UI tests.

Static code Analyse

Technology Description
Klint An anti-bikeshedding Kotlin linter with built-in formatter.
  • Architecture
    • Clean Architecture
    • MVVM (presentation layer)
  • Gradle

Architecture

The application is separated in modules as displayed below

What this project does not cover?

NDA.

Getting started

There are a few ways to open this project.

Android Studio

  1. Android Studio -> File -> New -> From Version control -> Git
  2. Enter https://github.com/thiagoolsilva/github-search into URL field

Command-line

  1. Run git clone https://github.com/thiagoolsilva/github-search
  2. Android Studio -> File -> Open

Author


Thiago Lopes

License

Copyright (c) 2022  Thiago Lopes da Silva

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
`

About

It is an android app that uses MVVM with Android Jetpack to fetch latests kotlin repositories in github

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages