A beginner-friendly Islamic prayer log built by a passionate first-time developer
Welcome to my very first web app! π This tool was created to help users keep track of their daily Islamic prayers, view accurate prayer times based on their location, and privately reflect on their prayer journey. Built using Streamlit, SQLite, and Python β so yes, it's lightweight, personal, and very much a labor of learning and love.
Note: Since this is my first published project, it may have a few quirks here and there. I'm learning as I go β so if you spot something odd, feel free to drop feedback. Itβs all part of the journey!
- Secure Login & Registration
Basic user authentication with a private prayer log for each account - Prayer Tracking
Mark each of the five daily prayers as completed β for any date - Live Prayer Times
Automatically fetches prayer times based on your IP-based location - Calendar View
Go back or forward in time to update or view your prayer history - Private Data
Each userβs prayer log is saved in a separate database file just for them
- Python 3.8+
- pip
Installation
git clone https://github.com/yourusername/prayer-app-tracker.git cd prayer-app-tracker pip install -r requirements.txt streamlit run main.py
π§ How to Use It
- Register an Account
Go to the "Register" tab, enter a username and password, and hit Register. - Login
Use the same credentials to log in. - Track Your Prayers
Select a date and tick off prayers as you complete them β it saves automatically. - See Local Prayer Times
Theyβll show up right on the homepage.
π Project Structure
prayer-app-tracker/ β βββ main.py # Streamlit app entry point βββ database.py # Handles prayer logs βββ prayer_times_calculator.py # Prayer times logic βββ users.txt # Demo-only user storage βββ prayers_.db # User-specific SQLite DBs βββ requirements.txt # Dependencies βββ README.md # This file!
π Security Notes
- Passwords are hashed, but this is still a simple demo β donβt use sensitive credentials.
- Each userβs data stays separate. Please donβt share usernames or passwords.
βοΈ Customizing the App
- You can tweak how prayer times are calculated by editing the
get()function inmain.py. - To level up authentication, consider OAuth or a library like
Authlib.
πͺͺ License
This project is licensed under the MIT License.
π¬ A Personal Note
I built this app as both a faith-based personal tracker and a way to dive into Web Applications development. Itβs not perfect, but itβs meaningful β and that makes it worth sharing. π
π« Contact
If you have feedback, ideas, or words of encouragement, feel free to open an issue on GitHub.