All Projects → kudoleh → Ios Clean Architecture Mvvm

kudoleh / Ios Clean Architecture Mvvm

Template iOS app using Clean Architecture and MVVM. Includes DIContainer, FlowCoordinator, DTO, Response Caching and one of the views in SwiftUI

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Ios Clean Architecture Mvvm

Android Mvvm Architecture
A basic sample android application to understand MVVM in a very simple way.
Stars: ✭ 129 (-82.87%)
Mutual labels:  architecture, mvvm, mvvm-architecture, viewmodel
iOS-Clean-Architecture-Example
An iOS app designed using clean architecture and MVVM.
Stars: ✭ 50 (-93.36%)
Mutual labels:  architecture, mvvm, clean-architecture, viewmodel
Restapimvvm
App that interacts with a Rest Api. Architecture is MVVM.
Stars: ✭ 130 (-82.74%)
Mutual labels:  architecture, mvvm, mvvm-architecture, viewmodel
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (-83.67%)
Mutual labels:  mvvm, clean-architecture, mvvm-architecture, viewmodel
Clean Architecture Swiftui
SwiftUI sample app using Clean Architecture. Examples of working with CoreData persistence, networking, dependency injection, unit testing, and more.
Stars: ✭ 2,925 (+288.45%)
Mutual labels:  architecture, mvvm, clean-architecture, mvvm-architecture
ApolloRickAndMorty
just a side project to try out GraphQL and Dagger Hilt with Clean architecture and MVVM
Stars: ✭ 28 (-96.28%)
Mutual labels:  mvvm, clean-architecture, viewmodel
modern-android
Modern Android Project Skeleton
Stars: ✭ 17 (-97.74%)
Mutual labels:  mvvm, clean-architecture, viewmodel
Viabus Architecture
让 Android 开发可以像流水线一样高效的,职责分离架构 ⚡ 不同于 MVP 的配置解耦,也不能和 似是而非 的 MVVM - Clean 同日而语。VIABUS 是世界范围内首个明确提出,通过职责分离,来真正实现 UI 和 业务并行开发的 Android 项目级开发架构和设计模式理念。
Stars: ✭ 485 (-35.59%)
Mutual labels:  architecture, mvvm, clean-architecture
Weatherapp
5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2)
Stars: ✭ 426 (-43.43%)
Mutual labels:  mvvm, clean-architecture, viewmodel
Mvvm C Templates
Templates for MVVM-C architecture
Stars: ✭ 27 (-96.41%)
Mutual labels:  xcode, mvvm, mvvm-architecture
Kotlinjetpackinaction
🔥🔥 Kotlin Jetpack zero to hero. 新手到高手
Stars: ✭ 264 (-64.94%)
Mutual labels:  mvvm, clean-architecture, viewmodel
Mvvm Sample App
MVVM, ViewModel and LiveData Sample App
Stars: ✭ 498 (-33.86%)
Mutual labels:  mvvm, mvvm-architecture, viewmodel
Clean-MVVM-NewsApp
Android News app developed using Clean + MVVM architecture
Stars: ✭ 52 (-93.09%)
Mutual labels:  clean-architecture, viewmodel, mvvm-architecture
Kotlin Modular Tdd Coroutines Mvvm
A sample Kotlin app which was built with modular structure, Kotlin DSL, Kotlin Coroutines, TDD and MVVM patterns.
Stars: ✭ 256 (-66%)
Mutual labels:  architecture, clean-architecture, mvvm-architecture
Expenso Ios
A Simple Expense Tracker App built to demonstrate the use of SwiftUI, CoreData, Charts, Biometrics (Face & Touch ID) and MVVM Architecture.
Stars: ✭ 191 (-74.63%)
Mutual labels:  xcode, mvvm, mvvm-architecture
Clean Mvvm Archcomponents
👽 Android app consuming Star Wars API.Built with clean architecture ,MVVM pattern, Koin , Coroutines + Flows ,Architecture Components, Data Binding , Firebase , Unit/UI Tests ,Motion Layout
Stars: ✭ 285 (-62.15%)
Mutual labels:  mvvm, clean-architecture, mvvm-architecture
News Sample App
A sample news app which demonstrates clean architecture and best practices for developing android app
Stars: ✭ 334 (-55.64%)
Mutual labels:  clean-architecture, mvvm-architecture, viewmodel
Android Viewmodelbinding
A lightweight library aiming to speed up Android app development by leveraging the new Android Data Binding together with the Model-View-ViewModel design pattern.
Stars: ✭ 308 (-59.1%)
Mutual labels:  architecture, mvvm, viewmodel
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (-45.55%)
Mutual labels:  architecture, mvvm, viewmodel
Android Modular Architecture
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
Stars: ✭ 2,048 (+171.98%)
Mutual labels:  architecture, clean-architecture, mvvm-architecture

Template iOS App using Clean Architecture and MVVM   CI

iOS Project implemented with Clean Layered Architecture and MVVM. (Can be used as Template project by replacing item name “Movie”). More information in medium post: Medium Post about Clean Architecture + MVVM

Alt text

Layers

  • Domain Layer = Entities + Use Cases + Repositories Interfaces
  • Data Repositories Layer = Repositories Implementations + API (Network) + Persistence DB
  • Presentation Layer (MVVM) = ViewModels + Views

Dependency Direction

Alt text

Note: Domain Layer should not include anything from other layers(e.g Presentation — UIKit or SwiftUI or Data Layer — Mapping Codable)

Architecture concepts used here

Includes

  • Unit Tests with Quick and Nimble, and View Unit tests with iOSSnapshotTestCase
  • Unit Tests for Use Cases(Domain Layer), ViewModels(Presentation Layer), NetworkService(Infrastructure Layer)
  • UI test with XCUITests
  • Size Classes and UIStackView in Detail view
  • Dark Mode
  • SwiftUI example, demostration that presentation layer does not change, only UI (at least Xcode 11 required)
  • Pagination

Networking

If you would like to use Networking from this example project as repo I made it availabe here

Requirements

  • Xcode Version 11.2.1+ Swift 5.0+

How to use app

To search a movie, write a name of a movie inside searchbar and hit search button. There are two network calls: request movies and request poster images. Every successful search query is stored persistently.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].