Skip to content

charleston10/marvel-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marvel App

Study application made to take advantage of the best programming practices using marvel's public api Shows information such as series, characters, events and comics

APK || VIDEO || YOUTUBE

BASE Architecture IU
AppCompact DataBinding Navigation
Android KTX Lifecycles Material Components
Kotlin LiveData
Android Arch ViewModel

Screens

Home Light List Light Detail Light
Home Dark List Dark Detail Dark

Base project

  • Multilayer structure: Code organization inspired by DDD and Clean Architecture focused on codebase scalability.

  • Dependency injection: With Koin, a practical dependency injection library, the code will not be coupled and it'll still be easy to resolve automatically the dependencies on the runtime and mock them during the tests.

  • Coroutines: With coroutines it is possible to perform asynchronous tasks without changing the code flow of the application. Simplifies code by abstracting all the complexity of using threads

  • Kotlin KTS: Using Kotlin KTS we can take advantage of the application configuration using the kotlin language in our gradle file. This makes our configuration even easier

  • Databinding: Databinding is an easy way to control ui rules and makes it easier to bind data on the screen. This reduces large code boilerplate and leaves view rules centralized

Layers

  • Presentation: Layer to manage initial data access through ViewModel

  • Domain: Layer to manage business rules using UseCase propagating events

  • Data: Layer for integrade access data using Repository and DataSource in local database or cloud

See more clean architecture reference

Quick start

  1. Create credentials of access api marvel in https://developer.marvel.com/
  2. Clone the repository with git clone --depth=1 https://github.com/charleston10/marvel-app
  3. Setup enviroment variable in your machine with your access the Marvel API with commands set MARVEL_KEY_API_PUB=XXX set MARVEL_KEY_API_PRI=XXX this variables will be used to compile the project into the application's gradle file
  4. Run the application and be happy

CODE

  • IDE - Android Studio 4.0

  • Gradle 4.0.0

  • Kotlin 1.3.72

  • AAC Android Architecture Components using guide Google JetPack

  • Clean Architecture for apply DRY, KISS, SOLID

  • DataBinding bind data model with view

  • ViewModel for interact view with business rules

API

Marvel Documentation: https://developer.marvel.com/

DESIGN

Material Components

https://github.com/material-components

  • Toolbar
  • RecyclerView
  • MaterialButton

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages