All Projects → gejiaheng → Protein

gejiaheng / Protein

Licence: apache-2.0
🥚 An Android App for Dribbble

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Protein

MVPArchitecture
Android MVP architecture in Kotlin using Dagger2, RxJava2, Retrofit2 and so on
Stars: ✭ 27 (-95.48%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Armscomponent
📦 A complete android componentization solution, powered by MVPArms (MVPArms 官方快速组件化方案).
Stars: ✭ 1,664 (+178.26%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
mvp-android-template
MVP Android Template to give you a Quick Head Start for your next Android Project. It implements MVP Architecture using Dagger2, Room, RxJava2 , Retrofit2
Stars: ✭ 20 (-96.66%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Android Clean Architecture Boilerplate
Apply clean architecture on Android
Stars: ✭ 141 (-76.42%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Mango
🏀 An Android app for dribbble.com
Stars: ✭ 659 (+10.2%)
Mutual labels:  android-app, dribbble, mvp-architecture
android-template
Template for android development at Tiki
Stars: ✭ 17 (-97.16%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
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 (+2.84%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Androidbasemvp
🚀一个快速搭建MVP+RxJava2+Retrofit 基础框架,主要是封装有Http网络请求、日志、缓存、加载等待、toast、页面状态布局管理、权限、RxBus、Glide图片加载等组件,方便快速开发新项目、减少开发成本。
Stars: ✭ 184 (-69.23%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Fasthub
FastHub the ultimate GitHub client for Android.
Stars: ✭ 5,543 (+826.92%)
Mutual labels:  android-app, mvp-architecture, mvp-android
BakingApp
Udacity Android Developer Nanodegree, project 2.
Stars: ✭ 54 (-90.97%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
Android Mvp Mvvm Flytour
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精…
Stars: ✭ 2,948 (+392.98%)
Mutual labels:  rxjava2, mvp-architecture, mvp-android
LittleLight
An Android app that uses Destiny's API to interact with in-game inventory.
Stars: ✭ 19 (-96.82%)
Mutual labels:  rxjava2, mvp-android
KeepSafeNew
Sample app to demonstrate MVP (Model - View - Presenter), Android Architecture Components (Room Persistence, LiveData), RxJava2, ButterKnife in Android.
Stars: ✭ 58 (-90.3%)
Mutual labels:  rxjava2, mvp-android
android-online-course
Android Online Course
Stars: ✭ 22 (-96.32%)
Mutual labels:  rxjava2, android-app
uv-index
This is a work-in-progress (🔧️) ultraviolet index viewer app for demonstrating Instant Apps + Kotlin + Dagger + MVP
Stars: ✭ 64 (-89.3%)
Mutual labels:  mvp-architecture, mvp-android
KotlinMvpTemplateGenerator
Android Studio template for Kotlin with MVP + Dagger2 + Retrofit2
Stars: ✭ 65 (-89.13%)
Mutual labels:  mvp-architecture, mvp-android
CarouselGifViewer
Efficiently display a list of GIFs in a carousel (RecyclerView).
Stars: ✭ 33 (-94.48%)
Mutual labels:  rxjava2, android-app
visum
Android reactive MVP stack
Stars: ✭ 19 (-96.82%)
Mutual labels:  mvp-architecture, mvp-android
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (-91.81%)
Mutual labels:  rxjava2, mvp-android
gunnner
A handy Dribbble client for Android.
Stars: ✭ 60 (-89.97%)
Mutual labels:  dribbble, android-app

Image

Protein

Protein is an atypical Dribbble App designed with one cup of simplicity and two spoons of fun. It is fully open sourced but also published on Google Play. You can discuss how-tos and best practices on creating an Android App around Protein.

Attention

Due to the breaking change of Dribbble API v1, I need to migrate to API v2. Unfortunately, most of the current features are't supported by API v2. So, in the following months, I'll:

  • Try to recover some basic features
  • Implement a redesign of Protein

Highlights

  • Material Design: Not a typical Material Design App, but you will find some familiar elements in Protein.
  • MVP architecture: Whole project is built on MVP. Views are implemented by custom views and fragments with activity being pure container.
  • RxJava: Model layer supported by RxJava. Also compose activity and fragment's lifecycles.
  • Auto Value: Auto valued all the models to gain some benefits.
  • Configuration change: Handles configuration changes like a charm.
  • Firebase: Firebase Analytics integrated. Only configured for product flavor play.
  • Stetho: Better debug.
  • Deep link: Showcase deep link mechanism with ShotActivity, empowers your native App.
  • Test: Yes, a few UI tests. More coming, still working on this.

Screenshots

Main Shot User Comment

Build

Get Started

./gradlew installOpenDebug

Attentions

As we are using bleeding edge versions of gradle wrapper, gradle plugin and Android Studio. You may come across some build problems, don't panic, try the followings:

  • Update Android Studio to latest beta/canary version. Current is Android Studio 3.0 Beta 5
  • If you're having gradle plugin too old error, do as /build.gradle tells you.
  • Use gradlew instead of your local gradle.
  • Try to clean project and restart Android Studio.
  • If none of the above solve your problem, file an issue.

Product Flavors

  • open: For open source purpose, use this flavor to develop and debug.
  • play: For Google Play publish, maintained by Jiaheng Ge ([email protected]).

Dribbble OAuth

Dribbble API client id, client secret and client access token for flavor open are placed in dribbble_config_open.properties. The property file for flavor play is not committed to git.

You may come across API rate limiting according to Rate Limiting. I suggest you register a dribbble application here if you want to develop continually. As for Callback URL, you can use x-protein-oauth-dribbble://callback as default. Or you can define your own url, and modify relative constants in ApiConstants.java.

Distribute

Protein is published on Google Play. The distribution is maintained by Jiaheng Ge ([email protected]). The GitHub Contributors page will have an entry in the App.

Contribute

Protein is an Open Source Project

Please check out Protein's Roadmap and Todos

License

Copyright 2017 Jiaheng Ge ([email protected])

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