Code Monkey home page Code Monkey logo

pokenyan's Introduction

PokeNyan

PokeAPi + Kotlin + Clean Architecture + Jetpack Navigation.

My small demonstration for android application based on Clean Architecture and Model-View-ViewModel (MVVM) architecture for me to understand more and hope can help other android developers get head start into Android clean architecture pattern.

For now it only fetch all pokemon list from PokeAPI and display the list using Android Jetpack Paging 3, and for the detail page just showing basic info based on the PokeAPI pokemon detail API.

Project Structure

image

For the project structure, I tried to separated each layer by module.

App module / Presentation layer.

An Android module that contains view (Activities,Fragments,Dialogs,etc..). ViewModels also will be here. This module will be responsible for UI presentation. Every data returned from Data module through entity will be handle in ViewModel and observe by View.

Data module / Data layer.

An Android module that contains mappers, Domain Module repository & usecases implementation and data source (Local Data Source/Network Data source) for basic operations.

Domain module

A pure java module. Its should be the individual and the innermost module. We should not have any Android package related in this module. Domain module consist of entity models, use cases interface, repository interfaces.



Tech Stack & Library:

Some screenshot!

List page with pagination.

Details screen.

Reference :

*This project is just a demo. If you have any feedback or question please reach me!

If you have any question please feel free to email me at [email protected] or contact me through Twitter!

Twitter URL

pokenyan's People

Contributors

johanadam avatar

Watchers

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