Coder Social home page Coder Social logo

albodelu / generator-android-hipster Goto Github PK

View Code? Open in Web Editor NEW

This project forked from esparta-io/generator-android-hipster

0.0 1.0 0.0 1.54 MB

Android generator based on MVP, Dagger2, RxJava, Java/Kotlin Stack and usefull libraries for Android

License: Other

JavaScript 50.76% Java 6.68% Kotlin 42.56%

generator-android-hipster's Introduction

generator-android-hipster

Android generator based on MVP, Dagger2, RxJava, Java/Kotlin Stack and usefull libraries for Android

Latest version: 1.0.1

Update with npm update -g generator-android-hipster

Info with npm info generator-android-hipster


How it works?

It provides a generator to create and maintain a android application based on the latests frameworks and patterns used by the community.

Stack:

Some of these technologies are optional, and you can choose what you want to use answering the questions when you create the project. Some of them are mandatory, but can be optional soon. If you have any questions, please create a new issue and we will discuss.


What you can do after create a project:

  • Create a new Activity

    • Create new Activity (including resources and AndroidManifest.xml update)
    • Create a new Dagger2 Component / Module or use the ApplicationComponent
    • Create a Fragment (optional)
    • For all cases, create the presenter
    • Inject the presenter into Activity / Fragment
    • Create a View interface for communication between Presenter -> View
  • Create a new Entity

    • It will create a model (AutoParcel), an Entity class for REST / DB communication, and a converter to parse from Entity <- -> Model class.
  • Create a Interactor

    • Create a base interactor.
    • Use with or without Interface
    • Interface use @Provides in ApplicationModule
  • Create a UseCase

    • Same as Interactor, but different name =)
    • It equal to Interactor generation, future changes proof.
    • Use with or without Interface
    • Interface use @Provides in ApplicationModule
  • Create a repository

    • Create a repository layer (To manage calls to Remote / Local Repository without exposing them to Interactors / UseCases)
    • Can create a RemoteRepository class (for REST)
    • Can create a LocalRepository class (for local DB)
    • Use with or without Interface
    • Interface use @Provides in ApplicationModule
  • Create a Push architecture:

    • Create the classes to handle push notifications like this article
  • Update gradle dependencies

    • Update gradle dependencies to latest stable versions with just one command.

Check this article

Any suggestions? Please let me know!

Sample:

Sample Project


Installation

First, install Yeoman and generator-android-hipster using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-android-hipster

Available commands:

Create new project:

yo android-hipster

Update gradle dependencies:

yo android-hipster:update-dependencies

Create a new activity:

yo android-hipster:activity

Create a new fragment:

yo android-hipster:fragment

Create a new interactor:

yo android-hipster:interactor

Create a new use case:

yo android-hipster:usecase

Create a new repository:

yo android-hipster:repository

Create a new entity:

yo android-hipster:entity

Create a new push support like this article:

yo android-hipster:push

License

© esparta-io

generator-android-hipster's People

Contributors

cavarzan avatar gmribas avatar reneluan avatar agatti avatar esparta-io avatar

Watchers

Al B. avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.