All Projects → xmartlabs → Bigbang

xmartlabs / Bigbang

Licence: apache-2.0
Android base project used by Xmartlabs team

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Bigbang

Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (+112.77%)
Mutual labels:  rxjava, rxjava2, dagger2, mvp, dagger, retrofit2
Aiyagirl
🔥 爱吖妹纸(含 Kotlin 分支版本)——Retrofit + RxJava + MVP 架构 APP 体验代码家的干货集中营 Gank.io,福利多多,不容错过
Stars: ✭ 1,109 (+2259.57%)
Mutual labels:  rxjava, rxjava2, dagger2, mvp, retrofit2
Kotlin Android Mvp Starter
Create/Generate your kotlin MVP projects easily
Stars: ✭ 270 (+474.47%)
Mutual labels:  rxjava2, dagger2, mvp, crashlytics, retrofit2
Android Kotlin Mvp Architecture
This repository contains a detailed sample app that implements MVP architecture in Kotlin using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 615 (+1208.51%)
Mutual labels:  rxjava, rxjava2, database, dagger2, mvp
Marvel
Marvel Characters Android Application Assigned by smava GmbH
Stars: ✭ 227 (+382.98%)
Mutual labels:  timber, rxjava, mvp, dagger, retrofit2
AndroidMVPArchitecture
Android MVP architecture sample project with or without RxJava and Dagger2 and Kotlin
Stars: ✭ 78 (+65.96%)
Mutual labels:  rxjava, mvp, dagger, dagger2, retrofit2
Kotlin Android Mvvm Starter
Android Kotlin Starter is a starter project which implements MVVM Pattern.
Stars: ✭ 276 (+487.23%)
Mutual labels:  timber, rxjava2, dagger2, crashlytics, retrofit2
Android Mvp Starter
Create/Generate your MVP projects easily
Stars: ✭ 72 (+53.19%)
Mutual labels:  timber, rxjava, mvp, dagger, crashlytics
Just Another Android App
An Android base app with loads of cool libraries/configuration NOT MAINTAINED
Stars: ✭ 1,654 (+3419.15%)
Mutual labels:  timber, rxjava, dagger2, crashlytics, retrofit2
Android-Starter-Kit
This is up-to-date android studio project for native android application, that is using modern tools and libraries.
Stars: ✭ 16 (-65.96%)
Mutual labels:  mvp, dagger2, rxjava2, retrofit2, timber
Android Mvp Architecture
This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 4,360 (+9176.6%)
Mutual labels:  rxjava, rxjava2, dagger2, mvp, dagger
Mvp Dagger2 Rxjava2
Android 基本mvp+dagger(dagger2.android)+rxjava2+retrofit+ormdb框架。简单组件化架构 with Base Activity,Presenter ,View,Model 的抽象封装,http 请求封装&错误统一处理
Stars: ✭ 274 (+482.98%)
Mutual labels:  rxjava2, dagger2, mvp, retrofit2
T Mvp
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Stars: ✭ 2,740 (+5729.79%)
Mutual labels:  rxjava, rxjava2, mvp, retrofit
UTair-MVP-Sample
Android Clean Architecture + MVP Sample written in Kotlin
Stars: ✭ 27 (-42.55%)
Mutual labels:  mvp, dagger, dagger2, rxjava2
Acgclub
一款纯粹的ACG聚合类App
Stars: ✭ 829 (+1663.83%)
Mutual labels:  rxjava2, dagger2, mvp, retrofit
Wanandroid
🐔🏀【停止维护,已使用Jetpack+Mvvm重构】根据鸿神提供的WanAndroid开放Api来制作的产品级玩安卓App,采用Kotlin语言,基于Material Design+AndroidX +MVP+RxJava+Retrofit等框架开发,注释超详细,方便大家练手
Stars: ✭ 674 (+1334.04%)
Mutual labels:  rxjava, dagger2, mvp, retrofit2
Mvvmhabit
goldze: 本人喜欢尝试新的技术,以后发现有好用的东西,我将会在企业项目中实战,没有问题了就会把它引入到MVVMHabit中,一直维护着这套框架,谢谢各位朋友的支持。如果觉得这套框架不错的话,麻烦点个 star,你的支持则是我前进的动力!
Stars: ✭ 6,789 (+14344.68%)
Mutual labels:  rxjava, rxjava2, retrofit, retrofit2
searchi
Demo of PagedListAdapter, PageKeyedDataSource, LiveData, ViewModel in Kotlin
Stars: ✭ 13 (-72.34%)
Mutual labels:  dagger, dagger2, rxjava2, retrofit2
Crazydaily
[开源项目] 一款程序员日常放松的App,基于Material Design + MVP-Clean + Weex + Flutter + RxJava2 + Retrofit + Dagger2 + Glide + Okhttp + MTRVA + BRVAH + 炫酷控件 + 炫酷动画
Stars: ✭ 294 (+525.53%)
Mutual labels:  rxjava2, dagger2, mvp, retrofit2
Clean Android Code
MVP + Dagger 2 + RxJava + Retrofit2
Stars: ✭ 311 (+561.7%)
Mutual labels:  rxjava, dagger2, mvp, retrofit

BigBang

CircleCI codebeat badge Core DbFlow Retrofit CrashlyticsLogger

This is Xmartlabs Android base project. Architecturally composed of a set of libraries for building modern and scalable applications from the ground up.
The BigBang of our Android projects.

Our architecture divides the typical layers of an Android application into simple coherent modules, which are completely independent from one another:

  • UI
  • Services
  • Database
  • Crashlytics Logger

In order to keep modules independent, we decoupled the behavior required for each layer into a single module, where everything comes together smoothly, which we call core. This not only allows you to choose which modules to use, but also gives you independence from any service or database oriented libraries we use.

Learn more about the project on the BigBang Wiki or by reading the Javadocs.

Getting started

The first step is to include the Core library into your project as a Gradle compile dependency:

compile 'com.xmartlabs.bigbang:core:0.1.54'

Then, add jCenter to the buildscript repositories:

buildscript {
    repositories {
        jcenter()
    }
}

Also, you'll need to add the following repositories:

repositories {
    flatDir {
        dirs 'libs'
    }
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

Then, include any of the following compile dependencies to add an specific module to your app:

compile 'com.xmartlabs.bigbang:dbflow:0.1.54'
compile 'com.xmartlabs.bigbang:log-crashlytics:0.1.54'
compile 'com.xmartlabs.bigbang:retrofit:0.1.54'
compile 'com.xmartlabs.bigbang:ui:0.1.54'

The dbflow module is database related, while the retrofit module is service related.

Architecture

There are four main components. The core component exposes the interfaces needed to implement a certain type of service, like database or network related. Thus, the core component should always be included in any project that makes use of this architecture.

A component should encapsulate and provide a single functionality. If the component belongs to a certain category of services (like networking or database), then the functionality should be specified and described in the core component.

Project template

In order to start using the modules, you'll need to set up a few things, which are well explained in their respective Wiki. Therefore, to start a new project, we provide a template, which consists of the minimal setup required to get you going. You will find that in the bigbang-template repository.

Style guide

We strictly follow our style guide, which extends from the Google Java Style Guide but with some modifications. Please remember to follow it when contributing to this project.

Bugs and Feedback

When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible. Please also make sure your code compiles and try to cover your code with tests.
We welcome contributors!

For bugs, issues, feature requests, questions and discussions please use the Github Issues.

Authors

Changelog

This can be found in the CHANGELOG.md file.

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