All Projects → nglauber → Tdcapp

nglauber / Tdcapp

Sample app which access the TDC (The Developer's Conference) REST API.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Tdcapp

Githubprojectbrowser
This is a sample Android Project that is based on Clean Architecture
Stars: ✭ 64 (+16.36%)
Mutual labels:  clean-architecture, viewmodel, room, architecture-components, mockito, livedata
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (+296.36%)
Mutual labels:  lifecycle, mvvm, viewmodel, room, architecture-components, livedata
News Sample App
A sample news app which demonstrates clean architecture and best practices for developing android app
Stars: ✭ 334 (+507.27%)
Mutual labels:  rxjava2, clean-architecture, viewmodel, room, architecture-components, livedata
Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (+672.73%)
Mutual labels:  rxjava2, lifecycle, mvvm, viewmodel, room, livedata
Base Mvvm
App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture
Stars: ✭ 18 (-67.27%)
Mutual labels:  rxjava2, mvvm, viewmodel, room, architecture-components, livedata
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (+645.45%)
Mutual labels:  mvvm, viewmodel, room, architecture-components, livedata
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (+123.64%)
Mutual labels:  mvvm, clean-architecture, viewmodel, architecture-components, livedata
Jetpackmvvm
🐔🏀一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
Stars: ✭ 1,100 (+1900%)
Mutual labels:  lifecycle, mvvm, viewmodel, retrofit, livedata
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (+509.09%)
Mutual labels:  lifecycle, mvvm, viewmodel, room, livedata
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (+16.36%)
Mutual labels:  lifecycle, mvvm, viewmodel, room, livedata
Reactive Mvvm Android
My way to MVVM using KotlinX Coroutines and Android data-binding
Stars: ✭ 626 (+1038.18%)
Mutual labels:  mvvm, viewmodel, room, architecture-components, livedata
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (+594.55%)
Mutual labels:  rxjava2, mvvm, viewmodel, room, livedata
MockAppMVVM
A sample app structure using the MVVM architecture using Retrofit, Dagger2, LiveData, RxJava, ViewModel and Room.
Stars: ✭ 14 (-74.55%)
Mutual labels:  room, rxjava2, viewmodel, lifecycle, livedata
Coolweather
Weather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin
Stars: ✭ 154 (+180%)
Mutual labels:  mvvm, clean-architecture, viewmodel, room, architecture-components
Sample Code Movies
This repository contains sample code. Its purpose being, to quickly demonstrate Android and software development in general, clean code, best practices, testing and all those other must know goodies.
Stars: ✭ 81 (+47.27%)
Mutual labels:  mvvm, clean-architecture, viewmodel, retrofit, livedata
Aachulk
️🔥️🔥️🔥AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速MVVM开发框架
Stars: ✭ 109 (+98.18%)
Mutual labels:  lifecycle, mvvm, viewmodel, retrofit, livedata
TeamManagerApp
A sample app structure using the MVVM architecture LiveData, RxJava, ViewModel, Room and the Navigation Arch Components.
Stars: ✭ 36 (-34.55%)
Mutual labels:  rxjava2, viewmodel, lifecycle, livedata, architecture-components
PlayAndroid
✌️✊👋玩安卓Mvvm组件化客户端,整合Jetpack组件DataBinding、ViewModel以及LiveData;屏幕适配✔️状态栏沉浸式✔️黑夜模式✔️,无数据、加载失败状态页;骨架屏、Koin依赖注入等
Stars: ✭ 193 (+250.91%)
Mutual labels:  retrofit, mvvm, rxjava2, viewmodel, livedata
Offlinesampleapp
Sample Offline-First MVVM app that uses Android Priority Job Queue, Room, Retrofit2, LiveData, LifecycleObserver, RxJava2, Dagger Android
Stars: ✭ 653 (+1087.27%)
Mutual labels:  rxjava2, mvvm, clean-architecture, room, livedata
Star Wars Shop
Simple project with clean architecture and android lifecycle
Stars: ✭ 37 (-32.73%)
Mutual labels:  lifecycle, clean-architecture, architecture-components, mockito

TDC App

Sample app which access the TDC (The Developer's Conference) REST API.

In this sample I tried to follow the Clean Architecture principles and use some cool Android libraries.

The Application is divided in modules as displayed below:

ModalitiesList

  • UI contains all UI related classes (Activities, Fragments, Adapters, etc.). The dependency injection is also declared in this layer.
  • Presentation stores all view model classes, once this project is trying to follow the MVVM pattern.
  • Domain in this module are declared the application's use cases and the basic data classes used as DTO. This layer also declares the basic operations that must be provided by the application's repository.
  • Data defines a basic repository flow to access two data sources: a remote (to retrieve data from the sever); and local (for now, just to save bookmarked sessions).
  • Data Remote contains a implementation of a remote data source.
  • Data Local contains a implementation of a local data source.
  • Data Memory could be used as remote repository for development purposes (or if you don't have an API key, see the section ).

Screenshots

Events List

This screen lists all events organized by Global Code organized by date and showing the most recent on top.

EventList

Modalities List

The activities (e.g.: sessions, workshops, etc.) that will/were occur in the event are displayed in this screen grouped by date.

ModalitiesList

Session List

This screen display the sessions for a given modality sorted by time.

Sessionsist

Session details

Session details are shown in this screen, including the speaker and his mini-bio.

SessionDetails

Libraries

This project is written in Kotlin and it's using the following libraries:

Get started

This application were created using Android 3.3 Canary 2. To run this application, you must have a Client ID and Secret to access the TDC REST API. To get those information, access the Global Code web site, create an account and request your credentials. After that, create the apikey.properties file in the root's project directory and put your credentials as below:

apiClientId="<YOUR_CLIENT_ID>"
apiSecret="<YOUR_API_SECRET>"

But if want to test the app without real data (or you cannot have an API key), just make the following change in the PersistenceModule.kt file.

package br.com.nglauber.tdcapp.di
// ...
val persistenceModule = module {
    ...
    single {
        // Instead of this --> TdcRemoteDataSource(tdcWebService = get()) as RemoteDataSource
        InMemoryRepository() as RemoteDataSource // Use this one
    }
}

And that's it! You're good to go.

IMPORTANT! Credits!

This sample is based on the sample presented by Joe Birch in his course at caster.io.

Any feedback and/or PR's are appreciated! :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].