Skip to content

An ios todo list app, illustrating the use of VIPER architecture, with tests writen

Notifications You must be signed in to change notification settings

rColeJnr/Viper-Todo-List

Repository files navigation

Ios VIPER Architecture: TodoList App

Viper todo list is an application illustrating how to structure your ios projects in VIPER architecture VIPER is an acronym that stands for View, Interactor, Presenter, Entity, and Router. This architecture divides the application into distinct components, each responsible for specific tasks:

This separation of concerns enhances modularity, scalability and testability.

TodoList App

This repository contains a detailed sample app that strictly implements VIPER architecture organizeing all features in View-Interactor-Presenter-Entity-Router


Features

  • Onboarding
  • TodoList - Shows card views of inprogress and completed todos
  • TodoShowAll - Show all inprogress/completed todo
  • TodoDetails - Ability to edit, mark as completed and delete todo
  • TodoCreate

The application uses the delegate system, thus taking no advantage of Async/Wait or Combine

Known issues

  • when launching app without internet connection, after creating a new Todo the option to download dummyjson dessapears. It should show as long as the dummyJson hasn't been downloaded dummyjson does load on next app launch

Future plans

  • Implement the combine framework for interaction with URLSessin and CoreData
  • Add a sorting feature

Your contribution is welcomed

Just clone the project, write some code and make a pull request!

No external libraries used

Please make sure to update tests as appropriate

Don't forget to leave a star⭐️

About

An ios todo list app, illustrating the use of VIPER architecture, with tests writen

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages