A modern, fully responsive web application for exploring authentic Islamic Hadiths in Arabic, English, and Urdu. Built with React, TypeScript, Tailwind CSS, shadcn/ui, and RTK Query.
- Access 9 major Hadith collections including:
- Sahih Bukhari
- Sahih Muslim
- Jami' Al-Tirmidhi
- Sunan Abu Dawood
- Sunan Ibn-e-Majah
- Sunan An-Nasa'i
- Mishkat Al-Masabih
- Musnad Ahmad
- Al-Silsila Sahiha
- Search Hadiths by text (English, Arabic, Urdu)
- Filter by book collection
- Filter by authenticity status (Sahih, Hasan, Da'eef)
- Pagination support for large result sets
- Browse chapters within each book
- View chapter titles in multiple languages
- Easy navigation between books and chapters
- Fully Responsive Design: Optimized for mobile, tablet, and desktop
- Light & Dark Mode: Seamless theme switching with system preference detection
- Clean Interface: Built with shadcn/ui components
- Smooth Transitions: Enhanced user experience with animations
- View Hadiths in Arabic, English, and Urdu
- Complete narrator chains in all supported languages
- RTL (Right-to-Left) support for Arabic and Urdu text
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: Redux Toolkit (RTK Query)
- Icons: Lucide React
- API Integration: RTK Query with TypeScript
This application is powered by the Hadith API, which provides free access to authentic Hadith collections in multiple languages.
- Provider: Hadith API
- Documentation: API Docs
- License: Free for everyone
- Supported Languages: Arabic, English, Urdu
Special thanks to the Hadith API team for making this valuable resource freely available to the community.
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd hadith-explorer- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
npm run buildThe built files will be in the dist directory.
npm run previewhadith-explorer/
├── src/
│ ├── components/
│ │ ├── ui/ # shadcn/ui components
│ │ ├── Books.tsx # Books listing component
│ │ ├── Chapters.tsx # Chapters listing component
│ │ ├── Hadiths.tsx # Hadiths search component
│ │ ├── theme-provider.tsx
│ │ └── theme-toggle.tsx
│ ├── lib/
│ │ └── utils.ts # Utility functions
│ ├── services/
│ │ └── api.ts # RTK Query API service
│ ├── store/
│ │ └── store.ts # Redux store configuration
│ ├── App.tsx # Main application component
│ ├── main.tsx # Application entry point
│ └── index.css # Global styles
├── public/
├── index.html
├── package.json
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- Displays all available Hadith collections
- Shows book name, author, and statistics
- Click to navigate to chapters
- Lists all chapters within a selected book
- Multilingual chapter titles
- Pagination support
- Back navigation to books
- Advanced search with multiple filters
- Real-time search results
- Hadith authenticity indicators
- Complete narrator information
- Pagination for results
- Light mode with clean, readable design
- Dark mode with reduced eye strain
- System preference detection
- Persistent theme selection
The application is fully responsive with breakpoints for:
- Mobile devices (< 768px)
- Tablets (768px - 1024px)
- Desktops (> 1024px)
Special mobile features:
- Fixed bottom navigation bar
- Optimized touch targets
- Readable font sizes
- Compact layouts
- Hadith API - For providing free access to Hadith collections
- shadcn/ui - For beautiful, accessible UI components
- Tailwind CSS - For utility-first CSS framework
- Redux Toolkit - For efficient state management
This project is open source and available under the MIT License.
For issues related to the Hadith API data, please contact the Hadith API team.
For issues related to this application, please open an issue in this repository.
Made with ❤️ for the Muslim community
Data provided by Hadith API