IOS Swift Application using VIPER Architecture.
This is a simple design application for E-Commerce using VIPER architecture and CoreData, I prefer using Delegate Protocols rather than Third Party Library such as Rx but at this project I make it as an example on how to using VIPER.The application also support localization.


VIPER is an application of Clean Architecture. The word VIPER is a backronym for View, Interactor, Presenter, Entity, and Routing (And I use another component called Contrcat). Clean Architecture divides an app’s logical structure into distinct layers of responsibility. This makes it easier to isolate dependencies (e.g. your database) and to test the interactions at the boundaries between layers.

Key Features

  • VIPER Architecture
  • Splash Screen
  • Localization
  • Caching
  • Extensions for UI
  • Storyboards for UI

App Structure

  • App

  • Extenions — Swift — UIKit

  • Local — Caching — Models

  • Modules — Base — Splash — Root — Navbar — Home — Categories

  • ReusableViews

  • Resources

  • Utilities


Created by Mahmoud Salah on 2021. Copyright © 2021 Mahmoud Salah LinkedIn.
Please don’t hesitate to ask any clarifying questions about the project if you have any.


View Github