/BasicApplication

Basic Android + iOS temple application using latest architecture and paradigms

Primary LanguageKotlinApache License 2.0Apache-2.0

BasicApplication - Native Mobile Application Architecture

Devekipoed in Kotlin for Android and Swift for iOS, this dependency is a solid ground for new native mobile development. No more looking for dependencies, adding permissions, configuring DI, finding your latest and greatest extensions - this basic mobile temple application has eveything you need for a strong fresh new mobile project.

Come and revisit once a while as this repository is being updated constantly with the latest and greatest evolution of the mobile tech industry :)

Android

Solid MVI architecture.

Network layer built with Retrofit + Coroutines + error handling wrapper with a demonstrated used API in the app.

Local database using Room library implemented and ready to use.

Service Locator using Koin is configured and used throughout the application.

Built for a Single-Activity application, Navigation Component is already predefined and a first fragment is already built onto it.

Powerful generic utility class for ListAdapter to prevent creating a new DiffUtil.ItemCallback class each time you create a new list.

SharedPreferences extension which makes saving small amounts of data extremely easy to use.

Very commonly used dependencies such as Gson, Room, Glide and more are already pre-defined.

iOS

Solid MVVM architecture

Dependency Injection container using Swinject

Prerequisites

This project assumes you know about modern mobile applications architecture such as MVVM / MVI, common networking libraries such as Retrofit and Alamofire and concurrency methods such as Kotlin Coroutines / Swift Combine.

This project can save you alot of time when creating a new Android / iOS project from scratch - clone this project, change the package name, project name, generic variables to suit your naming needs and your ready to go. It comes really handy when you need to rebuild the same project over and over again, like for a job interview phase where you get a task for home which looks pretty much the same for most companies.

Installing

Clone the project to your local device. Once done, depending on your need - Android or iOS - you can delete the uneccesary folder if you wish. The projects are set in a way that every relevant variable, method or view has the name "BasicApplication" in it so a refactor should not take more then 10 minutes including a project name change. After the necessary refactor you are ready to go with a solid ground!

Built With

  • Android Studio, Xcode.

Authors