A modern, privacy-focused note-taking application built with SwiftUI, following MVVM + Repository + Dependency Injection architecture. PureNoteStudio focuses on clean architecture, maintainable code, and a native iOS experience while demonstrating production-level Swift development practices.
This project was developed as a portfolio application to showcase scalable SwiftUI architecture and modern iOS development.
| Grid Layout | List Layout |
|---|---|
![]() |
![]() |
| Note Detail | Folders |
|---|---|
![]() |
![]() |
| Settings | Face ID |
|---|---|
![]() |
![]() |
- Create notes
- Read notes
- Update notes
- Delete notes
- Rich text support
- Image attachments
- Search notes instantly
- Folder filtering
- Responsive Grid/List layouts
- Empty state support
- Set reminders directly on notes
- Local notification scheduling (Server-free / On-device)
- Time-sensitive alerts
- Create folders
- Assign notes to folders
- Move notes between folders
- Uncategorized support
- Native SwiftUI interface
- Light & Dark Mode
- Dynamic Font Size
- Grid/List switching
- Smooth animations
- Floating Action Button
- Adaptive layouts
- Optional Face ID authentication
- Automatic lock screen
- Secure local authentication
- Display Mode
- Layout Mode
- Font Size
- Face ID toggle
PureNoteStudio follows a modular MVVM architecture with Repository Pattern and Dependency Injection.
SwiftUI View
│
▼
ViewModel
│
▼
Repository
│
▼
Services
│
▼
Models
PureNoteStudio
├── App
├── Core
│ ├── Extensions
│ ├── Foundation
│ ├── Interfaces
│ ├── Services
│ └── UIKit
├── Models
├── Repository
├── Routers
├── Presentation
│ ├── Components
│ ├── Enums
│ ├── Theme
│ ├── TabView
│ └── Views
│ ├── NotesTab
│ └── SettingsTab
├── Assets.xcassets
└── Info.plist
- Swift 6
- SwiftUI
- MVVM
- Repository Pattern
- Dependency Injection
- Observation
- NavigationStack
- LocalAuthentication
- UserDefaults
- PhotosPicker
- UserNotifications
- Markdown Rendering
Responsible only for rendering UI and forwarding user actions.
Contain presentation logic, state management and communicate with repositories.
Acts as the abstraction layer between UI and data source.
Responsible for business logic and system integrations.
Examples:
- Authentication
- Local Storage
- Preferences
Centralized navigation handling.
Contains reusable colors, fonts and design constants.
- Single Responsibility Principle
- Dependency Injection
- Protocol-Oriented Programming
- Separation of Concerns
- Reusable Components
- Testable Architecture
- Modular Feature Organization
- Notes Grid
- Notes List
- Search
- Folder List
- Note Detail
- Create Note
- Move Note
- Settings
- Face ID Lock
- Empty State
- Xcode 16+
- iOS 17+
- Swift 6
git clone https://github.com/semihtakilan/PureNoteStudio.gitcd PureNoteStudioOpen
PureNoteStudio.xcodeproj
Run the project using Xcode.
- CloudKit synchronization
- Tags
- Pin notes
- Favorites
- Archive
- Widgets
- Share Extension
- Apple Pencil support
- PDF Export
- Drag & Drop
- Multi-window support
- Shortcuts integration
PureNoteStudio was created to demonstrate:
- Clean SwiftUI architecture
- Maintainable MVVM design
- Repository abstraction
- Dependency Injection
- Modern iOS UI development
- Native Apple Human Interface Guidelines
- Scalable project organization
Rather than focusing solely on features, the project emphasizes code quality, modularity, readability, and long-term maintainability.
MIT License
Feel free to use this project for learning or inspiration.
Semih TAKILAN
Computer Engineering Student & iOS Developer Candidate
LinkedIn Profile | GitHub Profile





