Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Architecture Patterns – Kotlin (2019)

This repository contains the complete source code for an educational project on Android Architecture Patterns, used as part of a public talk on software architecture at TLP Innova 2019.

It is designed as a practical comparison of real implementations of the same Android app using different architecture patterns.


🧠 Topics covered

This project demonstrates the following architecture patterns in real Android apps built with Kotlin:

✅ Spaghetti Code – no architecture, just raw code.
✅ MVP – Model View Presenter.
✅ MVVM – Model View ViewModel.
✅ VIPER – View, Interactor, Presenter, Entity, Router.

Each architecture is available in a separate branch.
You can explore how each one affects separation of concerns, testability, and code maintenance.


🗂️ Branch structure

Branch Architecture Description
master Spaghetti No architecture, tightly coupled code.
mvp_pattern MVP Presenter handles logic, View is passive.
mvvm_pattern MVVM ViewModel exposes observable data to View.
viper_pattern VIPER Clean and scalable, inspired by iOS VIPER.

🎓 Background & Presentation

This repository was originally created as a companion for a public talk given at TLP Innova 2019, titled:

"Arquitectura de aplicaciones móviles: El camino hacia un software robusto"

Google Drive : (https://docs.google.com/presentation/d/1QwVwmIDSfz9CUqSO2QPohKhdjfzjtJsJxFK-wIYW5Jg/edit?usp=sharing)


👨‍🏫 Instructor

Developed and taught by Manuel Bacallado.

🔍 Keywords (for discoverability)

Android · Kotlin · Mobile App Development · MVP · MVVM · VIPER · Clean Architecture · Educational Project.

About

Educational project comparing different Android architecture patterns (Spaghetti, MVP, MVVM, VIPER) using the same Kotlin app. Presented at TLP Innova 2019.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages