Skip to content

aramb-dev/fatwa-search

Repository files navigation

Netlify Status

Fatwa Search App

A specialized search application designed to help Muslims find Islamic rulings (fatwas) and content from the Mashāyukh. This web application provides a curated search experience restricting the search to known websites and channels.

Table of Contents

Features

Getting Started

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Start the development server:
npm start
  1. Open http://localhost:3000 to view it in your browser.

Setup Instructions

1. Google Custom Search Engine Setup

  1. Go to Programmable Search Engine
  2. Enter the following sites in "Sites to search":
binothaimeen.net/*
alfawzan.af.org.sa/*
lohaidan.af.org.sa/*
binbaz.org.sa/*
al-badr.net/*
obied-aljabri.com/*
aletioupi.com/*
miraath.net/*
al-albany.com/*
rabee.net/*
  1. Click "Create"
  2. Copy your Search Engine ID (cx) from the "Setup" tab

2. Google Cloud Console Setup

  1. Go to Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable these APIs:
  • Custom Search API
  • YouTube Data API v3
  1. Go to "Credentials"
  2. Click "Create Credentials" > "API Key"
  3. Copy your API key
  4. (Optional) Restrict the API key to only these APIs for security

3. Environment Variables

Create a .env file in the root directory:

REACT_APP_GOOGLE_API_KEY=your_api_key_here
REACT_APP_SEARCH_ENGINE_ID=your_search_engine_id_here
REACT_APP_YOUTUBE_API_KEY=your_youtube_api_key_here

Under REACT_APP_YOUTUBE_API_KEY, enter the same API key as your REACT_APP_GOOGLE_API_KEY. This is due to the YouTube Data API being a part of the Google Cloud Platform.

Usage

  1. Use the search bar to look for Islamic topics or questions
  2. Filter results by specific scholars using the filter button
  3. Watch videos directly in the app or open them on YouTube
  4. Share interesting search results with others
  5. Request new scholars or channels to be added to the platform

Technology Stack

  • React
  • React Router
  • Tailwind CSS
  • shadcn/ui components
  • Framer Motion for animations
  • YouTube Data API
  • Lucide React icons

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting pull requests.

Privacy and Data Usage

This application respects user privacy and only collects necessary data for search functionality. No personal information is stored or shared with third parties.

Contact

For questions, suggestions, or support:

Please check existing issues before creating a new one and follow our contribution guidelines when submitting questions or suggestions.

License

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