{"id":28634681,"url":"https://github.com/awalhossainofficial/ird-foundation","last_synced_at":"2026-05-01T16:31:30.214Z","repository":{"id":288311142,"uuid":"967574974","full_name":"awalhossainofficial/ird-foundation","owner":"awalhossainofficial","description":"A comprehensive Islamic application","archived":false,"fork":false,"pushed_at":"2025-04-17T03:44:27.000Z","size":1816,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T16:15:04.742Z","etag":null,"topics":["nextjs14","nodejs","sqlite","typescript"],"latest_commit_sha":null,"homepage":"https://ird-rho.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awalhossainofficial.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-16T17:02:45.000Z","updated_at":"2025-04-17T03:44:30.000Z","dependencies_parsed_at":"2025-04-17T04:07:30.122Z","dependency_job_id":"a4ea3197-e9da-420d-87b5-c53cc25b036b","html_url":"https://github.com/awalhossainofficial/ird-foundation","commit_stats":null,"previous_names":["awalhossain/ird-foundation","awalhossainofficial/ird-foundation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/awalhossainofficial/ird-foundation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awalhossainofficial%2Fird-foundation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awalhossainofficial%2Fird-foundation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awalhossainofficial%2Fird-foundation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awalhossainofficial%2Fird-foundation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awalhossainofficial","download_url":"https://codeload.github.com/awalhossainofficial/ird-foundation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awalhossainofficial%2Fird-foundation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32504976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs14","nodejs","sqlite","typescript"],"created_at":"2025-06-12T16:15:03.780Z","updated_at":"2026-05-01T16:31:30.194Z","avatar_url":"https://github.com/awalhossainofficial.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dua \u0026 Ruqyah Application\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/assets/hand.png\" alt=\"Dua \u0026 Ruqyah Logo\" width=\"120\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Next.js-13.x-black\" alt=\"Next.js\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-5.x-blue\" alt=\"TypeScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tailwind-3.x-38B2AC\" alt=\"Tailwind\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/SQLite-3-003B57\" alt=\"SQLite\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green\" alt=\"License\"\u003e\n\u003c/p\u003e\n\nA comprehensive Islamic application for accessing supplications (duas) and ruqyah content from Hisnul Muslim. Built with modern web technologies and featuring a responsive, user-friendly interface.\n\n## ✨ Features\n\n### User Interface\n- **Responsive Design** - Fully optimized for mobile, tablet, and desktop views\n- **Modern UI** - Clean, intuitive interface based on professional design\n- **Smart Navigation** - Collapsible sidebar that adapts to screen size\n- **Dynamic Header** - Smart scroll behavior that hides/shows based on scroll direction\n- **Three-column Layout** - Optimized content organization on large screens\n\n### Core Functionality\n- **Categorized Duas** - Browse duas by categories and subcategories\n- **Search** - Find specific duas by name or content(Not implemented yet)\n- **Audio Support** - Listen to duas with embedded audio player(Not implemented yet)\n- **Arabic Text** - Original Arabic text with beautiful typography\n- **Translations** - English translations and transliterations\n- **Bookmarks** - Save favorite duas for quick access(Not implemented yet)\n- **Memorization Tools** - Features to help memorize duas(Not implemented yet)\n\n### Technical Features\n- **Static Site Generation** - Pre-rendered pages for optimal performance\n- **Optimized Loading** - Smart caching of dua content to minimize API calls\n- **Performance Focused** - Smooth scrolling and transitions\n- **Offline Support** - Access duas without internet connection\n- **Dark/Light Mode** - Customizable UI theme(Not implemented yet)\n- **Custom Scrollbars** - Enhanced scrolling experience\n\n## 🚀 Tech Stack\n\n- **Frontend**:\n  - Next.js 13+ with App Router\n  - TypeScript for type safety\n  - Tailwind CSS for styling\n  - Radix UI for accessible components\n  - Lucide icons\n  - Context API for state management\n\n- **Backend**:\n  - Node.js/Express REST API\n  - SQLite database for lightweight, portable data storage\n  - TypeScript for backend code\n\n## 📋 Project Structure\n\n```\ndua-ruqyah/\n├── src/                  # Frontend code\n│   ├── app/              # Next.js app router pages\n│   ├── components/       # Reusable UI components\n│   │   ├── dua/          # Dua-specific components\n│   │   ├── layout/       # Layout components\n│   │   ├── nav/          # Navigation components\n│   │   └── ui/           # UI primitives\n│   ├── contexts/         # React context providers\n│   └── lib/              # Utility functions and API client\n├── backend/              # Backend API server\n│   ├── src/              # Source code\n│   └── dist/             # Compiled JavaScript\n├── public/               # Static assets\n│   └── assets/           # Images and other media\n└── dua_main.sqlite       # SQLite database\n```\n\n## 🛠️ Getting Started\n\n### Prerequisites\n\n- Node.js (v16.x or newer)\n- npm or yarn\n\n### Setting up the Backend\n\n1. Install backend dependencies:\n   ```bash\n   cd backend\n   npm install\n   npm run build\n   ```\n\n2. Start the backend development server:\n   ```bash\n   npm run dev\n   ```\n\n   The API server will run on http://localhost:5000 by default.\n\n### Setting up the Frontend\n\n1. Install frontend dependencies:\n   ```bash\n   npm install\n   ```\n\n2. Set environment variables:\n   Create a `.env.local` file in the project root with:\n   ```\n   NEXT_PUBLIC_API_URL=http://localhost:5000/api\n   ```\n\n3. Start the Next.js development server:\n   ```bash\n   npm run dev\n   ```\n\n   The frontend will run on http://localhost:3000 by default.\n\n## 📊 Database Architecture\n\nThis project uses SQLite as the database, which offers:\n\n- **Serverless Operation** - No separate database server needed\n- **Portable File Storage** - Single file contains all data\n- **Zero Configuration** - Works out of the box\n- **ACID Compliance** - Reliable transaction support\n\n### Core Tables\n\n- `category` - Main dua categories (e.g., Morning/Evening, Prayer)\n- `sub_category` - Subcategories within each category\n- `dua` - Individual duas with the following data:\n  - Original Arabic text\n  - English translation\n  - Transliteration\n  - Reference information\n  - Audio file paths\n  - Category relationships\n\n## 🚀 Deployment\n\n### Backend Deployment\n\n1. Build the TypeScript code:\n   ```bash\n   cd backend\n   npm run build\n   ```\n\n2. Start the production server:\n   ```bash\n   npm start\n   ```\n\n### Frontend Deployment\n\n1. Build the Next.js application:\n   ```bash\n   npm run build\n   ```\n\n2. Start the production server:\n   ```bash\n   npm start\n   ```\n\nFor optimal deployment, consider using Vercel for the Next.js frontend and a NodeJS hosting service for the backend API.\n\n## 🖼️ Asset Management\n\n### Category Icons\n\nThe application uses custom icons for categories:\n\n1. Place category icons in the `public/images/` directory\n2. Icon filenames should match references in the database\n3. Use the API endpoint `/api/category-icons` to retrieve the required icon list\n\n## 🧩 UI Components\n\nThe application features several custom component types:\n\n- **DuaCard** - Displays individual dua with translation and audio controls\n- **SearchBar** - Advanced search functionality\n- **Sidebar** - Navigation for categories and subcategories\n- **Header** - Smart scrolling app header\n- **PageContainer** - Three-column responsive layout system\n- **SettingsDrawer** - User preferences and application settings\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 📞 Contact\n\nFor questions or support, please open an issue in the GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawalhossainofficial%2Fird-foundation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawalhossainofficial%2Fird-foundation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawalhossainofficial%2Fird-foundation/lists"}