MemoRise is a clean and functional iOS app built to replicate the core functionality of Appleβs built-in Reminders app. Designed to deepen understanding of Core Data and data persistence, MemoRise allows users to seamlessly create, manage, and track reminders and to-dos.
-
β Create & Manage Reminders
Add, edit, and delete custom reminders with titles, notes, and completion status. -
πΎ Core Data Integration
Demonstrates persistent data storage using Core Data with SwiftUI. -
π Dark Mode Support
Beautifully adapts to system-wide appearance with full dark mode support. -
π§± MVVM Architecture
Built using the Model-View-ViewModel design pattern for clean and maintainable code. -
π¨ SwiftUI Interface
Entirely crafted using SwiftUI for a smooth and modern user experience.
- iOS 16.0+
- Xcode 14+
- Swift 5+
MemoRise # Root Group
.
βββ Extension # Some useful extensions for date & time
βββ Managers # Notification Manager
βββ Models # CoreData Models
β βββ EditConfig # Object to save the state of CoreData Model values when editing an item
β
βββ Providers # CoreData Provider
βββ Services # Reminder Services like saving, deleting, updating, etc.
βββ Transformer # UIColor transformer to store colour info in CoreData
βββ Utils # Some custom helper functions and operator
βββ Views # SwiftUI Views
β
β
βββ Preview Content # Dummy Data Files for supporting SwiftUI Previews
To run this project locally:
-
Clone the repository:
git clone https://github.com/deepanshubajaj/MemoRise-iOSApp.git
-
Open the project in Xcode:
open MemoRise.xcodeproj
-
Build and run the app on a simulator or physical device.
Make sure you have Xcode installed and configured properly to run the project.
- π οΈ SwiftUI β Used for designing the user interface.
- π§ͺ Xcode β Used for development, testing, and debugging.
- π» Swift β The core programming language powering the app.
*App snapshot in the simulator.*
*Splash screen displayed upon app launch in Dark Mode.*
*Splash screen displayed upon app launch in Bright Mode.*
*Screenshots of the MemoRise App showing different screens in Dark Mode*
*Screenshots of the MemoRise App showing different screens in Bright Mode*
Creating New List | Creating New Item in List |
---|---|
creating_new_list.mp4 |
creating_item_in_a_list.mp4 |
Editing & Scheduling Reminder | Searching for an Item |
editing_and_scheduling_a_list_for_reminder.mp4 |
searching_for_an_item.mp4 |
Marking and Item as Complete | Reminder Notification |
marking_item_as_complete.mp4 |
reminder_notification.mp4 |
*The App Icon reflects the MemoRise Look*
Hereβs a short video showcasing the app's functionality in Dark & Bright Mode:
β€ π¬ Watch Splash Screen Video - [Dark Mode]
β€ π¬ Watch Splash Screen Video - [Bright Mode]
β€ π₯ Watch Working Video 1 - [Dark Mode]
β€ π₯ Watch Working Video 2 - [Bright Mode]
Thank you for your interest in contributing to this project!
I welcome contributions from the community.
- You are free to use, modify, and redistribute this code under the terms of the Apache-2.0 License.
- If you'd like to contribute, please open an issue or submit a pull request.
- All contributions will be reviewed and approved by the author β Deepanshu Bajaj.
To contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m 'Add your feature'
-
Push to the branch:
git push origin feature/your-feature-name
-
Open a pull request.
This project is licensed under the Apache-2.0 License.
You are free to use this project for personal, educational, or commercial purposes β just make sure to provide proper attribution.
Clarification: Commercial use includes, but is not limited to, use in products,
services, or activities intended to generate revenue, directly or indirectly.