[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![LinkedIn][linkedin-shield]][linkedin-url]

Islam Practice Tracker

An Obsidian plugin for tracking missed and active Salahs, Quran reading, and daily progress.
Explore the source »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments
## About The Project Islam Practice Tracker keeps two related logs inside your vault: missed prayers (Salah) and Quran reading. It is a local plugin — all data lives in Obsidian's plugin data, with no network requests and no account. ### Salah tracking Salah is split into two buckets: * **Old Salahs** — a historical backlog. You set a period in days, months and years; the plugin converts it with `days + months × 30 + years × 365` and applies the resulting day count to each of the five prayers. This is a simple estimate, not a prayer-time or lunar-calendar calculation. * **Active Salahs** — recent missed prayers, stored as a count per prayer. You can add, edit, reduce, complete or reset counts for individual prayers or for all five at once. Completed prayers are recorded in a progress history that can be viewed from the command palette. ### Quran tracking Reading is measured in **tumun** (plural of thumn, one eighth of a Juz). The plugin assumes a full Quran is 480 tumun, which matches its own unit table: | Unit | Equivalent | |------|------------| | 1 Juz | 2 Hizb = 8 Rubu = 16 Tumun | | 1 Hizb | 4 Rubu = 8 Tumun | | 1 Rubu | 2 Tumun | Reading sessions record an amount and an optional note. The Quran dashboard shows total progress, Juz, Hizb and Rubu completed, and the list of completed Khatms. Starting a new Khatm after completing one is handled by the plugin. ### Prayer times **View Prayer Times** shows fixed, approximate times (05:00, 12:00, 15:30, 18:00 and 19:30) for today and marks each as passed, soon or upcoming. It does **not** calculate astronomical prayer times from your location, and the modal says so. Verify times with your local mosque or calendar.

(back to top)

### Built With * [![Obsidian][Obsidian.com]][Obsidian-url] * [![JavaScript][JavaScript.com]][JavaScript-url]

(back to top)

## Getting Started ### Prerequisites * Obsidian 0.15.0 or newer — the `minAppVersion` declared in `manifest.json`. * No build step. `main.js`, `manifest.json` and `styles.css` are shipped as-is. ### Installation **From a release** 1. Download `main.js`, `manifest.json` and `styles.css` from the latest GitHub release. 2. Create `/.obsidian/plugins/islam-practice-tracker/`. 3. Copy the three files into that folder. 4. Reload Obsidian, then enable **Islam Practice Tracker** under **Settings → Community plugins**. **From source** ```sh git clone https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin.git cd obsidian-islam-plugin ``` Copy `main.js`, `manifest.json` and `styles.css` into the plugin folder and reload Obsidian. `src/main.js` and `main.js` are currently identical.

(back to top)

## Usage ### Commands | Command | Purpose | |---------|---------| | Complete Salahs | Select prayers and mark a number as completed | | Add/Edit Active Salahs | Change the active count for each prayer | | Delete/Reset Salahs | Reset one prayer, all old Salahs, all active Salahs, or everything | | View Salah Dashboard | Overview of old and active counts with totals | | View Progress History | Completed-prayer history | | View Prayer Times | Approximate fixed times for today | | Add Quran Reading | Record a reading amount in tumun | | View Quran Dashboard | Total progress and unit breakdown | | Edit Quran Readings | Edit or delete individual reading sessions | | View Quran Completions | List completed Khatms and their sessions | ### Settings The settings tab has two pages: * **Salah** — the old-Salah period (days/months/years), the calculated old counts (read-only), and the active count for each prayer. * **Quran** — read-only progress summary and the unit reference table. ### First run 1. Open **Settings → Islam Practice Tracker → Salah** and enter your backlog period. 2. Enter the active counts you want to track. 3. Open the command palette and run **View Salah Dashboard** to confirm the numbers. 4. For Quran reading, run **Add Quran Reading** and enter an amount such as `1` (Juz) or `1/8` (one thumn), depending on the units you want to record.

(back to top)

## Roadmap Working today: - [x] Old-Salah backlog calculation from a days/months/years period - [x] Active Salah counts with add, edit, complete, reduce and reset flows - [x] Salah dashboard and progress history - [x] Approximate daily prayer-time display with passed/soon/upcoming status - [x] Quran reading sessions measured in tumun - [x] Quran dashboard with Juz/Hizb/Rubu breakdown and Khatm completions - [x] Editing and deleting Quran reading sessions - [x] Settings tab with Salah and Quran pages Open items: - [ ] Prayer times are fixed constants, not location-aware calculations - [ ] The old-Salah conversion uses 30-day months and 365-day years, so it is approximate - [ ] No import/export of the plugin data - [ ] No automated tests - [ ] No notifications or reminder scheduling

(back to top)

## Contributing Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request Test in a throwaway vault: copy the three plugin files into `.obsidian/plugins/islam-practice-tracker/`, reload, and check both the Salah and Quran flows. The data schema is stored in `data.json`, so a schema change needs a migration path for existing users. ### Top contributors: contrib.rocks image

(back to top)

## License Distributed under the MIT License. See [`LICENSE`](LICENSE) for more information.

(back to top)

## Contact Naoufal Elouahabi - [LinkedIn](https://www.linkedin.com/in/elouahabi-naoufal/) - elouahabi-naoufal1@gmail.com Project Link: [https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin](https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin)

(back to top)

## Acknowledgments * [Obsidian](https://obsidian.md/) and the [Obsidian sample plugin](https://github.com/obsidianmd/obsidian-sample-plugin) * [Img Shields](https://shields.io) * [Choose an Open Source License](https://choosealicense.com)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/Elouahabi-Naoufal/obsidian-islam-plugin.svg?style=for-the-badge [contributors-url]: https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/Elouahabi-Naoufal/obsidian-islam-plugin.svg?style=for-the-badge [forks-url]: https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin/network/members [stars-shield]: https://img.shields.io/github/stars/Elouahabi-Naoufal/obsidian-islam-plugin.svg?style=for-the-badge [stars-url]: https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin/stargazers [issues-shield]: https://img.shields.io/github/issues/Elouahabi-Naoufal/obsidian-islam-plugin.svg?style=for-the-badge [issues-url]: https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin/issues [license-shield]: https://img.shields.io/github/license/Elouahabi-Naoufal/obsidian-islam-plugin.svg?style=for-the-badge [license-url]: https://github.com/Elouahabi-Naoufal/obsidian-islam-plugin/blob/main/LICENSE [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/in/elouahabi-naoufal/ [Obsidian.com]: https://img.shields.io/badge/Obsidian-7C3AED?style=for-the-badge&logo=obsidian&logoColor=white [Obsidian-url]: https://obsidian.md/ [JavaScript.com]: https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black [JavaScript-url]: https://developer.mozilla.org/en-US/docs/Web/JavaScript