A beautiful, modern Flutter application for digital mantra counting and spiritual practice tracking. Japamala brings the ancient tradition of mala bead counting into the digital age with a clean, intuitive interface and powerful features.
Note: I created this app initially for my own personal use, but later decided to release it as open source because I found that there was no japamala app that was independent of any specific dharma or religious tradition. This app is designed to be universally usable for anyone interested in mantra practice, regardless of their spiritual background. I also wanted to keep it free from Google Services Framework (GSF) to maintain user privacy and independence.
- Custom Mantra Creation: Add unlimited mantras with personalized names and target counts
- Digital Bead Counter: Tap-to-count interface with haptic feedback
- Progress Tracking: Visual progress indicators and completion statistics
- Session History: Automatic logging of all meditation sessions
- Material Design 3: Modern, beautiful UI with light/dark theme support
- Haptic Feedback: Satisfying tactile responses for each bead count
- Offline First: Works completely offline with local data storage
- Privacy-Friendly: No internet permission, no file access, no notifications - your practice stays private
- Cross-Platform: Android, iOS, Web, Windows, macOS, and Linux support
- Gratitude Journal: Daily gratitude notes with date-based organization
- Calendar View: Visual practice calendar with completion tracking
- Breathing Exercises: Guided breathing patterns for meditation
- Meditation Timer: Customizable meditation sessions with intervals
- Data Persistence: Hive database for reliable local storage
- Flutter SDK (^3.9.2) - Installation Guide
- Dart SDK (included with Flutter)
- Android Studio (for Android development) or Xcode (for iOS development)
-
Clone the repository
git clone https://github.com/yourusername/japamala.git cd japamala -
Install dependencies
flutter pub get
-
Run the app
flutter run
Android APK:
flutter build apk --releaseAndroid App Bundle:
flutter build appbundle --releaseiOS (on macOS):
flutter build ios --releasejapamala/
├── lib/
│ ├── main.dart # App entry point
│ ├── models/ # Data models (Hive objects)
│ ├── providers/ # State management (Provider pattern)
│ ├── screens/ # UI screens and pages
│ └── services/ # Business logic and utilities
├── android/ # Android platform code
├── ios/ # iOS platform code
├── web/ # Web platform code
├── windows/ # Windows platform code
├── macos/ # macOS platform code
├── linux/ # Linux platform code
├── test/ # Unit and widget tests
└── docs/ # Documentation
- State Management: Provider pattern for reactive state updates
- Data Persistence: Hive NoSQL database for local storage
- UI Framework: Flutter with Material Design 3
- Platform Integration: Native Android/iOS features via platform channels
We welcome contributions!
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes and add tests
- Run tests:
flutter test - Format code:
flutter format . - Submit a pull request
- Follow Dart's effective Dart guidelines
- Use
flutter formatfor consistent formatting - Write meaningful commit messages
See requirements.md for detailed development roadmap and feature specifications.
- Advanced statistics and insights
- Custom themes and personalization
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Security Issues: Contact maintainers directly
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by traditional mala bead counting practices
- Built with ❤️ using Flutter
- Special thanks to the Flutter and Dart communities
🕉️ May your practice bring peace and clarity to your mind. 🕉️