Flixbus-task - Android Coding Task from FlixBus

Overview

FlixBus Coding Task

Logo

Features

  • Fetch timetables from FlixBus service
  • Show fetched timetables in their respective timezones in a list
  • API module separated so that it can be used with any of the host app
  • Unit Tests written for Repos and View Models
  • R8 Enabled

Screenshots

Splash Fetched Timetables

Demo Video

Flixbus.Demo.mp4

Introduction

There are two major parts in the codebase, written in Kotlin

  • Android application
  • Android API

Dependencies and Libraries

  • Coroutine and Flow
  • Retrofit (networking)
  • GSON (json-parsing)
  • Koin (dependency injection)

Testing:

  • Mockito (mocking)
  • Turbine (flows)

Setup

  • Android Studio Arctic Fow (latest version preferably)
  • Kotlin 1.6.10 or newer in your project
  • Java 11 selected as your JDK
  • App’s minimum API level to 21

API Module Usage

The API module can be added with any host application as a stand-alone data source providing the flixbus timetable's data

// Get timetables
flixBusDataSourceSource.getTimetable( object : OnResult<TimetableResponse> {
    override fun getItem(response: TimetableResponse) {
        // do something
    }

})
You might also like...
Sunflower - A gardening app illustrating Android development best practices with Android Jetpack
Sunflower - A gardening app illustrating Android development best practices with Android Jetpack

Sunflower - A gardening app illustrating Android development best practices with Android Jetpack

A LibrePhotos android client written using Jetpack Compose and all the latest Android technologies
A LibrePhotos android client written using Jetpack Compose and all the latest Android technologies

UhuruPhotos. A LibrePhotos client UhuruPhotos is an Android client for LibrePhotos written using the latest Android technologies, like Jetpack Compose

🎺 Orchestra is a collection of Android custom view compatible libraries for Jetpack Compose.
🎺 Orchestra is a collection of Android custom view compatible libraries for Jetpack Compose.

Orchestra 🎺 Jetpack Compose compatible libraries using Balloon, ColorPickerView, PowerSpinner. Balloon Add below codes to your root build.gradle file

Neumorphism UI on Android with Jetpack Compose.
Neumorphism UI on Android with Jetpack Compose.

Neumorphism UI with Jetpack Compose This library is an experimentation with Neumorphism UI (New + Skeuomorphism) on Android with Jetpack Compose. How

Lightweight library to tweak the fling behaviour in Android. This library is only compatible with Jetpack-Compose.
Lightweight library to tweak the fling behaviour in Android. This library is only compatible with Jetpack-Compose.

Flinger (Only compatible with compose) What is Flinger? Flinger is a plugin that is made on top of jetpack compose that will help the developer to twe

Jetpack Compose 版本的「玩 Android」
Jetpack Compose 版本的「玩 Android」

wanandroid-compose Jetpack Compose 版本的「玩 Android」 环境 AndroidStudio: Gradle: 7.0.0-beta02 Kotlin: 1.4.30 Compose: 1.0.0-beta07 功能 登录、注册 等级、排名、积分、收藏 首页、

A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose
A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose

SlideTodo A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose you can find source code here Getting Started allprojects

A Sudoku game for Android & Desktop written with Jetpack Compose Multiplatform
A Sudoku game for Android & Desktop written with Jetpack Compose Multiplatform

🚀 Compose Arcade A sample Kotlin Multiplatform Compose Sudoku app for Android & Desktop. Most code is shared between Android & Desktop using Kotlin M

Android browser written by jetpack compose
Android browser written by jetpack compose

TS Browser Top secret Browser! Download Features ■ Secret Mode Secret mode is a unique mode in TS browser. The secret mode is designed for browsing se

Owner
Ali Ansari
7+ Years Professional Android Development Experience. Ability to adopt new technologies and work environment.
Ali Ansari
Fast android task that finished in only 3 hours, it gets the information from national number without database. I just wanna refine my skills in android basics so I try to make this simple project.

RaqmQawmy it is a fast android task that finished in only 3 hours, it gets the information from national number without database. I just wanna refine

Mahmoud Abdelazim 3 May 15, 2022
ToDo-Task-App - An Android App built to demonstrate the use of Jetpack Compose, Material You, Room Database, and MVVM

ToDo Task App ToDo Task App is a sample Android app built with Jetpack Compose.

null 0 Jan 17, 2022
TaskScheduler - A concise practical task management tool for scheduling tasks for Android

TaskScheduler A concise practical task management tool for scheduling tasks for

Chen Pan 1 Feb 7, 2022
Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

MindOrks 382 Jan 5, 2023
JetFlix - A clone of Android NetFlix app in Android built using Jetpack compose.

JetFlix A clone of Android NetFlix app in Android built using Jetpack compose. This sample app showcases the following: MVVM Architecture (ViewModel +

Pushpal Roy 40 Dec 6, 2022
Android Jetpack is a set of components, tools and guidance to make great Android apps.

Android Jetpack is a set of components, tools and guidance to make great Android apps. They bring together the existing Support Library and Architecture Components and arrange them into four categories.

Atik Faysal 0 Dec 8, 2021
🗺 Android Developer Roadmap 2022 suggests learning paths to understanding Android development.

Android Developer Roadmap 2022 English | 한국어 Android Developer Roadmap 2022 suggests learning paths to understanding Android development. You can read

Jaewoong Eum 5.2k Jan 8, 2023
Split Food Bill is an android application where user can split the expenses based on the number of people joined the trip. This application is developed using Android's Jetpack Compose

SplitFoodBill-Compose Split Food Bill is an android application where user can split the expenses based on the number of people joined the trip. This

Shivaprasad Bhat 1 Jan 17, 2022
Android.compose.squircle - Android LightWeight Squircle Library for JetPack Compose

Android LightWeight Squircle Library for JetPack Compose Usage Based on Compose

Quang Nguyen 9 Jul 5, 2022
Foldable-chat-android - Foldable chat Android demonstrates adaptive and responsive UIs with Jetpack WindowManager API

Foldable Chat Android A foldable chat Android demonstrates adaptive and responsi

Stream 31 Oct 29, 2022