tranki is a straightforward mobile application designed to help users practice meditation without any distractions. Unlike many meditation apps that offer various premium features or additional content, this app focuses solely on providing a clean and intuitive interface for timing meditation sessions.
- Basic Timer: Set a timer for your meditation session with simple controls.
- Sound Mixer: Customize your meditation experience by mixing background sounds using a simple UI.
- Minimalist Design: Avoids clutter and unnecessary features to maintain a distraction-free environment.
- Open Source: This app is open source, meaning you can view and contribute to the code.
This app was created with a specific philosophy in mind: simplicity and focus. It aims to provide a tool for meditation practice without upselling or promoting additional services. Whether you're a beginner or experienced meditator, you can use this app to enhance your meditation sessions without distractions.
MVVM architecture using the following SDKs:
- UIKit
- UserDefaults
- AVFoundation
- NotificationCenter
---
tranki
---
classDiagram
SceneDelegate *-- PlayerViewController
PlayerViewController ..> PlayerSettingsViewModel
PlayerViewController ..> SoundManager
PlayerViewController ..> PlayerViewModel
PlayerViewController *-- SettingsViewController
PlayerViewController ..|> PlayerViewModelDelegate
SettingsViewController ..> PlayerSettingsViewModel
SettingsViewController *.. CreditsViewController
SettingsViewController *.. DurationSettingsViewController
SettingsViewController ..|> PlayerSettingsViewModelDelegate
DurationSettingsViewController ..> PlayerSettingsViewModel
PlayerSettingsViewModel ..> PersistenceManager
PlayerSettingsViewModel ..> NotificationCenter
PlayerSettingsViewModelDelegate --o PlayerSettingsViewModel
PlayerViewModelDelegate --o PlayerViewModel
PlayerViewModel ..> NotificationCenter
SoundManager <|.. AVAudioSoundManager
SoundManager ..> PlayerSettingsViewModel
PersistenceManager <|.. UserDefaultsPersistenceManager
<<protocol>>SoundManager
<<protocol>>PersistenceManager
<<protocol>>PlayerViewModelDelegate
<<protocol>>PlayerSettingsViewModelDelegate
Contributions are welcome! If you have any ideas for improvements or new features, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License.