This is a to-do app built with the aim of learning Swift and SwiftUI technologies..
The app is built with the Model-View-ViewModel (MVVM) as its structural design pattern that separates objects into three distinct groups:
- Models hold application data. They’re usually structs or simple classes.
- Views display visual elements and controls on the screen. They’re typically subclasses of UIView.
- View models transform model information into values that can be displayed on a view. They’re usually classes, so they can be passed around as references.
-
Swift
Swift is a powerful and intuitive programming language developed by Apple for iOS, macOS, watchOS, and tvOS development. It is designed to be fast, safe, and modern, making it easier to write reliable and maintainable code. -
SwiftUI
SwiftUI is a modern UI toolkit introduced by Apple that allows developers to build user interfaces across all Apple platforms using declarative Swift syntax. It enables faster development with real-time previews and seamless integration with Swift. -
Core Data
Core Data is Apple’s framework for managing the model layer of applications. It provides powerful tools for object graph management and persistence, allowing developers to store and query data efficiently on-device. -
Clean Architecture
Clean Architecture is a design pattern that separates the codebase into distinct layers (e.g., domain, data, and presentation), improving testability, scalability, and maintainability. It enforces a clear separation of concerns in Swift-based projects. -
Navigation in Swift
Navigation in Swift refers to the techniques used to move between views and screens in iOS applications. With SwiftUI, navigation is handled declaratively usingNavigationStackorNavigationLink, making it easier to manage app flow and user experience.
- IOS device or Simulator
- XCode Editor
In order to get the app running yourself, you need to:
- Clone this project
- Import the project into XCode
- Connect your IOS device with USB or just start your Simulator
- After the project has finished setting up it stuffs, click the run button
- Found this project useful ❤️? Support by clicking the ⭐️ button on the upper right of this page. ✌️
- Notice anything else missing? File an issue
- Feel free to contribute in any way to the project from typos in docs to code review are all welcome.






