Skip to content
/ sirat Public

Quran app with tafsir, translation, and AI assistant. Furthermore, enjoy Hadith, Tasbih, and Prophet Stories, all in one website. Use Sirat today, no payments, hidden payments, Sirat is free, and is always free!

License

Notifications You must be signed in to change notification settings

MAtiyaaa/sirat

Repository files navigation


Sirat
Ψ΅Ψ±Ψ§Ψ· β€’ Sirat

A Modern Gateway to Divine Knowledge

Read. Reflect. Remember.

Live Features Tech Stack

React Tailwind CSS Supabase RTL Support Bilingual


Sirat Screenshot


Sirat is a meticulously crafted, bilingual Islamic web application that seamlessly blends spiritual devotion with modern technology. Built with React and featuring a stunning aurora-glass UI, it provides Muslims worldwide with instant access to the Qur'an, prayer tools, Islamic knowledge, and community resourcesβ€”all wrapped in an experience that feels both reverent and delightfully modern.


🌟 Features

πŸ“– Qur'an Reader

  • 114 Surahs at your fingertips with beautiful Arabic typography
  • Bilingual display with seamless Arabic/English switching
  • Smart progress tracking - pick up right where you left off
  • Personalized experience with "Surah of the Day" and bookmarks
  • Diacritic-safe rendering using optimized Arabic fonts

πŸ•‹ Holy Cities Explorer

  • Makkah - Explore the Kaaba's significance, history, and live views
  • Madinah - Journey through the Prophet's city with guided content
  • Jerusalem - Discover Al-Aqsa's importance, Isra & Mi'raj, and landmarks
  • Live streaming integration for spiritual connection
  • Interactive maps with key landmarks

πŸ“Ώ Digital TasbΔ«αΈ₯

  • Beautiful dhikr counter with common remembrances
  • Arabic diacritics perfectly preserved
  • Preset selections including SubαΈ₯ānAllāh, AlαΈ₯amdulillāh, and more
  • Progress tracking with increment/decrement controls
  • Auto-reset options for seamless practice

πŸ•Œ Smart Mosque Locator

  • Zero-friction mosque discovery using OpenStreetMap
  • Dynamic clustering for clean map visualization
  • One-tap navigation to Google Maps, Apple Maps, or Waze
  • Responsive design optimized for mobile use

πŸ“š Islamic Knowledge Hub

  • Hadith collection with authentic narrations
  • Du'as for daily life and special occasions
  • Prophet stories and companions' narratives
  • 99 Names of Allah with meanings
  • Educational content for all ages

πŸ› οΈ Utilities & Tools

  • Zakat calculator with comprehensive guidance
  • Prayer & Wudu guide with step-by-step instructions
  • Personal bookmarks synced across devices
  • User accounts with Supabase authentication
  • Theme customization with light/dark modes

🎨 Design Philosophy

Sirat features a sense of spiritual elevation:

  • πŸ“± iOS-inspired icons for intuitive navigation
  • 🎯 Large touch targets for accessibility
  • πŸŒ™ Dark mode for comfortable night reading

⚑ Tech Stack

Frontend

  • React 18.3 - Modern component architecture
  • React Router - Seamless SPA navigation
  • Tailwind CSS - Utility-first styling
  • shadcn/ui - Premium component library
  • Lucide React - Beautiful, consistent icons

Backend & Data

  • Supabase - Authentication & real-time database
  • PostgreSQL - Robust data persistence
  • AlQuran.cloud API - Comprehensive Qur'an metadata
  • OpenStreetMap - Open-source mapping

Key Features

  • Full RTL support for authentic Arabic experience
  • Bilingual architecture (Arabic/English)
  • Context-based state management
  • Responsive design from mobile to desktop
  • Performance optimized for all devices

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm/yarn
  • Supabase account (free tier works)
  • Modern browser with ES6 support

Installation

# Clone the repository
git clone https://github.com/MAtiyaaa/sirat.git
cd sirat

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your Supabase credentials

# Start development server
npm run dev

Environment Variables

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key

Build for Production

# Create optimized build
npm run build

# Preview production build
npm run preview

πŸ“ Project Structure

sirat/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/        # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ ui/            # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ QuranReader/   # Qur'an specific components
β”‚   β”‚   β”œβ”€β”€ Tasbih/        # Digital counter components
β”‚   β”‚   └── Maps/          # Mosque locator components
β”‚   β”œβ”€β”€ contexts/          # Global state management
β”‚   β”‚   β”œβ”€β”€ SettingsContext.jsx
β”‚   β”‚   β”œβ”€β”€ AuthContext.jsx
β”‚   β”‚   └── AudioContext.jsx
β”‚   β”œβ”€β”€ pages/            # Route components
β”‚   β”‚   β”œβ”€β”€ Home/
β”‚   β”‚   β”œβ”€β”€ Quran/
β”‚   β”‚   β”œβ”€β”€ HolyCities/
β”‚   β”‚   └── Utilities/
β”‚   β”œβ”€β”€ lib/              # Utilities & helpers
β”‚   β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   └── styles/           # Global styles & themes
β”œβ”€β”€ public/               # Static assets
β”œβ”€β”€ supabase/            # Database migrations
└── package.json

πŸ—ΊοΈ Routes Overview

Route Description
/ Home with hero, daily cards, and app grid
/quran Surah index with search and filters
/quran/:surahNumber Individual surah reader
/tasbih Digital dhikr counter
/duas Collection of supplications
/hadith Curated hadith collections
/mosquelocator Interactive mosque finder
/makkah Makkah city guide and resources
/madinah Madinah city guide
/jerusalem Jerusalem and Al-Aqsa content
/account User profile and settings

πŸ”„ Database Schema

-- User's last viewed surah
CREATE TABLE last_viewed_surah (
  user_id UUID PRIMARY KEY REFERENCES auth.users(id),
  surah_number INT NOT NULL,
  updated_at TIMESTAMP DEFAULT NOW()
);

-- Reading progress tracking
CREATE TABLE reading_progress (
  user_id UUID REFERENCES auth.users(id),
  surah_number INT NOT NULL,
  ayah_number INT NOT NULL,
  updated_at TIMESTAMP DEFAULT NOW(),
  PRIMARY KEY (user_id, surah_number)
);

-- User bookmarks
CREATE TABLE bookmarks (
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  user_id UUID REFERENCES auth.users(id),
  surah_number INT NOT NULL,
  ayah_number INT,
  created_at TIMESTAMP DEFAULT NOW()
);

🀝 Contributing

We welcome contributions that align with Sirat's mission of providing accessible Islamic knowledge with excellence.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure:

  • Code follows the existing style patterns
  • Arabic content is properly reviewed for accuracy
  • UI changes maintain the aurora-glass aesthetic
  • All features are mobile-responsive
  • RTL support is maintained

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • AlQuran.cloud for comprehensive Qur'an API
  • shadcn/ui for beautiful component primitives
  • Muslim community for feedback and support
  • All contributors who help make Sirat better

πŸ’« Support

If you find Sirat beneficial, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs or suggesting features
  • πŸ“– Contributing translations or content

Website β€’ Issues β€’ Discussions

May this project be a means of guidance and benefit. Ameen.

About

Quran app with tafsir, translation, and AI assistant. Furthermore, enjoy Hadith, Tasbih, and Prophet Stories, all in one website. Use Sirat today, no payments, hidden payments, Sirat is free, and is always free!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages