Qu'ron oyatlari tarjimasi va Namoz vaqtlari
A Django web‑app for searching and displaying Quran verses (with audio recitations), calculating prayer times, and tracking qazo (missed prayers) for major cities in Uzbekistan. Originally deployed on PythonAnywhere (no longer active), this project can be redeployed on any Django‑compatible hosting platform.
- Quran Search & Translation: Lookup by sura name or number; view text and translation.
- Audio Recitation: Play recitation for each ayah directly in the browser.
- Prayer Times: Fetch and display daily prayer times for selected Uzbek cities.
- Qazo Tracker: Mark and count missed prayers (qazo) per time period.
- Autocomplete Search: Instant suggestions powered by a JSON surahs list.
- Responsive Design: Built with Semantic UI, custom CSS/LESS, and vanilla JS.
- Backend: Django 4.x, Python 3.9+
- Database: SQLite3 (development); easily swap with PostgreSQL for production
- Templating: Django Templates
- Frontend: HTML5, CSS/LESS, Semantic UI, jQuery
- Static Files: Managed via
static/andstaticfiles/folders - Audio: HTML5
<audio>element sourcing MP3 URLs - Deployment: PythonAnywhere (legacy), alternative: Heroku/Gunicorn + Whitenoise
- Clone & enter project
git clone https://github.com/habiboffdev/Musilman.uz.git cd Musilman.uz - Create & activate virtualenv
python3 -m venv venv source venv/bin/activate # Windows: `venv\\Scripts\\activate`
- Install dependencies
pip install pipenv pipenv install --dev
- Configure environment
- Copy
.env.exampleto.envand set:SECRET_KEY=your_django_secret DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1,yourdomain.com
- Copy
- Apply migrations & run
pipenv run python manage.py migrate pipenv run python manage.py runserver
- Access in browser:
http://127.0.0.1:8000/
- Cities & Times: Defined in
views.py; extendcity_listfor new locations. - Surah Data:
templates/base.htmlloadstemplates/static/surahslist.jsonfor search. - Audio URLs: Provided in
searchview mapping ayah numbers to MP3 links.
Deployment is no longer live on PythonAnywhere. To redeploy:
- Ensure Python version matches (3.9+) and install requirements.
- Configure WSGI file to point at
config.wsgi. - Collect static files:
python manage.py collectstaticand setSTATIC_ROOT. - Add your domain to ALLOWED_HOSTS.
- Check file permissions and reload the web app.
- Fork the repo
- Create a feature branch:
git checkout -b feature/YourFeature - Commit changes: `git commit -m "Add "
- Push:
git push origin feature/YourFeature - Open a Pull Request
This project is MIT licensed. See LICENSE for details.
Last updated: April 22, 2025