Skip to content

MemoRise is an iOS Reminder App Clone, created to learn about persistence storage using CoreData and SwiftUI.

License

Notifications You must be signed in to change notification settings

deepanshubajaj/MemoRise-iOSApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ MemoRise - iOS App

Swift Badge Platform Badge License Badge Last Commit GitHub Stars

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.


App MemoRise


✨ Features:

  • βœ… 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.


πŸ“¦ Requirements:

  • iOS 16.0+
  • Xcode 14+
  • Swift 5+

β›“ Project Structure:

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

πŸ› οΈ Installation:

To run this project locally:

  1. Clone the repository:

    git clone https://github.com/deepanshubajaj/MemoRise-iOSApp.git
  2. Open the project in Xcode:

    open MemoRise.xcodeproj
  3. Build and run the app on a simulator or physical device.

Make sure you have Xcode installed and configured properly to run the project.


πŸ›  Technologies Used:

  • πŸ› οΈ SwiftUI β€” Used for designing the user interface.
  • πŸ§ͺ Xcode β€” Used for development, testing, and debugging.
  • πŸ’» Swift β€” The core programming language powering the app.

🎨 App Look:

App Look B App Look D

*App snapshot in the simulator.*


πŸ–ΌοΈ Screenshots:

Splash Screen 0D

Splash Screen 1D Splash ScreenD Splash Screen 2D

*Splash screen displayed upon app launch in Dark Mode.*

Splash Screen 0B

Splash Screen 1B Splash ScreenB Splash Screen 2B

*Splash screen displayed upon app launch in Bright Mode.*

Main Screen 1D Main Screen 2D Main Screen 3D

Main Screen 4D Main Screen 5D Main Screen 6D

Main Screen 7D Main Screen 8D Main Screen 9D

Main Screen 10D Main Screen 11D Main Screen 11bD

Main Screen 11bD Main Screen 12D Main Screen 13D

*Screenshots of the MemoRise App showing different screens in Dark Mode*

Main Screen 1B Main Screen 2B Main Screen 3B

Main Screen 4B Main Screen 5B Main Screen 6B

Main Screen 7B Main Screen 8B Main Screen 9B

Main Screen 10B Main Screen 11B Main Screen 11bB

Main Screen 11bB Main Screen 12B Main Screen 13B

*Screenshots of the MemoRise App showing different screens in Bright Mode*

πŸŒ„ Functionalities Demo:

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

πŸ“± App Icon:

App Icon

*The App Icon reflects the MemoRise Look*


πŸš€ Video Demo:

Here’s a short video showcasing the app's functionality in Dark & Bright Mode:

Working App 1 - Dark Mode Working App 2 - 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]


🀝 Contributing:

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.

πŸ“Œ How to Contribute:

To contribute:

  1. Fork the repository.

  2. Create a new branch:

     git checkout -b feature/your-feature-name
  3. Commit your changes:

     git commit -m 'Add your feature'
  4. Push to the branch:

     git push origin feature/your-feature-name
  5. Open a pull request.


πŸ“ƒ License:

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.