Todoey is a simple, yet powerful task management app. This project was developed to master various local data persistence methods in iOS development, ranging from basic key-value storage to advanced relational databases.
This is an educational project focused on data architecture and local storage solutions.
Throughout this project, I explored and implemented three different ways to save and manage user data:
- UserDefaults: Implemented basic persistence for small settings (like app theme or simple arrays).
- Core Data: Mastered Apple’s native persistent framework. Learned how to create Data Models, perform CRUD (Create, Read, Update, Delete) operations, and use
NSFetchRequestwithNSPredicatefor filtering data. - Realm: Integrated a third-party mobile database. Gained experience with Object-Oriented databases, handling relationships between categories and items, and writing clean, concise code with Swift's modern syntax.
- External Libraries: Used CocoaPods (or Swift Package Manager) to integrate Realm and other third-party tools.
- Data Searching: Implemented search functionality using
UISearchBarand filtering logic for both Core Data and Realm. - UI/UX: Worked with
UITableViewController, custom cells, and dynamic color libraries (like Chameleon) to create a clean, user-friendly interface.
- Language: Swift 5
- Framework: UIKit
- Storage: Core Data / Realm / UserDefaults
- Dependency Manager: CocoaPods
- Architecture: MVC (Model-View-Controller)
Since this project uses a private API key, you will need to:
- Clone the repository.
- Get a free API key from OpenWeatherMap.
- Create a
Keys.plistfile in the project root. - Add a key named
APIKeywith your API key as the string value.
Contact: fail-b