Skip to content

About

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

295 Commits

Folders and files

Repository files navigation

πŸͺ” DharmaPulse

A moment of Dharma, every day.

A calm, privacy-first devotional companion for Web, PWA & Chrome.
Daily wisdom β€’ Mantras β€’ Japa β€’ Panchang β€’ Festivals β€’ Meditation

Quality CI Chrome Extension CI Next.js 16 Node.js 22 TypeScript Privacy first

⭐ GitHub Β· βš™οΈ CI / Actions Β· πŸ“¦ Releases


🌸 What is DharmaPulse?

DharmaPulse is an original, account-free devotional experience designed for a simple daily rhythm of reflection.

It brings spiritual content and practical devotional tools together in one focused interfaceβ€”without requiring an account or a paid API.

One app. One calm moment. Every day. πŸͺ”


✨ Experience at a glance

🏠 Daily πŸ“… Calendar πŸ“Ώ Practice 🧘 Wellness
Daily wisdom & blessing Festivals & Panchang Mantras & Japa Meditation timer
Devotional questions Deity explorer 11 / 21 / 54 / 108 counts Personal totals
Telugu / English Regional coordinates TTS & sharing Local history

πŸ›• Core features

πŸŒ… Daily devotion

  • Daily devotion, blessing, wisdom and reflection
  • 366-entry content cycle for day-by-day coverage, including leap years
  • Telugu / English preference persistence

πŸ“… Panchang & festivals

  • Offline Panchang calculation
  • Configurable latitude / longitude
  • Festival calendar with regional/traditional accuracy guidance
  • Clear informational disclaimer for observance decisions

πŸ›• Deities & devotional content

  • Searchable deity explorer
  • Deity detail views
  • Mantra library
  • Text-to-speech in English / Telugu
  • Native sharing with clipboard fallback

πŸ“Ώ Japa & meditation

  • Japa counter: 11 / 21 / 54 / 108
  • Meditation sessions: 5 / 10 / 15 / 20 / 30 minutes
  • Local Japa and meditation totals
  • Devotional history

πŸ“± Modern app experience

  • Installable PWA
  • Offline cache through service worker
  • Dark mode
  • Local favorites
  • PNG devotional share-card generator
  • JSON backup / restore
  • Local reset controls
  • Browser / PWA notification permission test

🧩 Chrome extension

  • Daily devotional experience from the browser
  • Configurable reminder time
  • DST-safe reminder handling
  • Extension options page
  • Shared content library with the web app

πŸ—οΈ Architecture

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚  Shared Content     β”‚
                         β”‚  JSON Library       β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β–Ό                               β–Ό
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚   Web / PWA  β”‚               β”‚   Chrome     β”‚
             β”‚              β”‚               β”‚  Extension   β”‚
             β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜               β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚                              β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   β–Ό
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                     β”‚ Daily Devotional Flow   β”‚
                     β”‚                         β”‚
                     β”‚ Wisdom β†’ Mantra β†’       β”‚
                     β”‚ Blessing β†’ Reflection   β”‚
                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”’ Local-first by design

DharmaPulse intentionally keeps the core experience local and lightweight:

  • No login required
  • No paid API dependency
  • Local favorites and history
  • Local backup / restore
  • Offline-friendly architecture
  • Shared static content for web + extension

πŸš€ Run locally

Prerequisites

  • Node.js 22.x
  • npm
  • Git

Start development

npm install
npm run dev

Then open the local development URL shown by Next.js.

Production build

npm run build

Quality checks

npm run lint
npm run test:content
npm run test:panchang
npm run test:smoke

🧩 Chrome extension

The repository maintains one canonical extension implementation under extension/.

Load locally in Chrome

  1. Open Chrome β†’ Extensions β†’ Manage Extensions
  2. Enable Developer mode
  3. Choose Load unpacked
  4. Select the built extension directory produced by the project
  5. Open Details β†’ Extension options to configure the reminder

The extension packaging workflow is maintained separately from the web application build so extension regressions can be detected early.


πŸ§ͺ Engineering & quality

DharmaPulse uses automated quality gates for the core project:

  • βœ… Lint validation
  • βœ… Content integrity tests
  • βœ… Panchang tests
  • βœ… Smoke tests
  • βœ… Production build validation
  • βœ… Chrome extension validation / packaging
  • βœ… GitHub Actions CI
  • βœ… PWA / offline architecture checks

For releases, test the deployed experience on mobile and desktop, including offline mode, PWA installation, Panchang, Japa, backup/restore and extension options.


πŸ“ Project structure

DharmaPulse/
β”œβ”€β”€ app/                    # Next.js application
β”œβ”€β”€ extension/              # Canonical Chrome extension
β”œβ”€β”€ public/                 # Static assets & shared content
β”œβ”€β”€ scripts/                # Build / validation utilities
β”œβ”€β”€ tests/                  # Automated tests
β”œβ”€β”€ .github/workflows/      # CI & deployment workflows
β”œβ”€β”€ next.config.*           # Next.js configuration
β”œβ”€β”€ package.json            # Scripts & dependencies
└── README.md               # Project documentation

🌐 Language & accessibility

DharmaPulse supports a Telugu / English devotional experience with browser speech support.

The goal is a distraction-free interface that works comfortably across desktop and mobile form factors.


πŸͺ” Panchang & festival accuracy

Panchang calculations depend on coordinates and calendar conventions. Festival observance can vary by region, tradition and local panchang.

DharmaPulse therefore presents reference information and recommends verifying important observance dates with the user's local or family panchang.

DharmaPulse is an informational devotional companion, not a replacement for a traditional/local panchang.


πŸ” Privacy

DharmaPulse is designed around a no-account, local-first experience.

The application does not require a paid external API for its core devotional features. Local user data such as favorites, history and counters is intended to remain on the user's device unless the user explicitly exports it.


πŸ—ΊοΈ Product direction

Future improvements should strengthen the existing experience rather than duplicate features:

  • 🎨 Refine visual polish and accessibility
  • πŸ“… Improve regional calendar guidance
  • πŸ“Ώ Expand devotional practice utilities
  • ⚑ Keep performance and offline reliability high
  • πŸ” Preserve the local-first privacy model
  • πŸ§ͺ Continue automated quality coverage

🀝 Contributing

Contributions, bug reports and thoughtful improvements are welcome.

🌱 Contribution flow

  1. Fork the repository.
  2. Create a focused feature or fix branch.
  3. Make the smallest change that solves the problem.
  4. Run the complete local quality checks.
  5. Open a pull request with a clear description of the change.

Before opening a pull request:

npm install
npm run lint
npm run test:content
npm run test:panchang
npm run test:smoke
npm run build

Please keep contributions focused, accessible, privacy-friendly and consistent with the existing DharmaPulse experience. Avoid duplicate functionality and do not commit secrets, API keys, credentials or personal data.

For detailed contribution guidance, see CONTRIBUTING.md.


πŸ” Security

DharmaPulse follows a local-first approach and does not require accounts or paid APIs for its core experience.

πŸ›‘οΈ Security principles

  • πŸ”’ Keep user data local wherever practical
  • 🚫 Never commit secrets, tokens, credentials or private keys
  • 🧹 Avoid collecting unnecessary personal data
  • πŸ“¦ Keep dependencies and build tooling maintained
  • πŸ§ͺ Run automated quality checks before changes are merged
  • 🌐 Review external links, permissions and browser capabilities carefully

🚨 Reporting a vulnerability

Please do not disclose security vulnerabilities in public GitHub issues.

Use the repository's GitHub Security / Private vulnerability reporting channel when available. If private reporting is unavailable, contact the repository maintainer privately through GitHub before publicly disclosing sensitive details.

See SECURITY.md for the reporting policy.


πŸ“„ License

DharmaPulse is distributed under the MIT License.

See LICENSE for the complete license text.


πŸͺ” DharmaPulse

Pause. Reflect. Practice.

Built with care for a simple daily devotional experience.

⭐ If DharmaPulse is useful to you, consider starring the repository.

About

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages