red-idea

byAHMED Kallol

Act as an expert Next.js, Tailwind CSS, and TypeScript developer. I want to build a clean, responsive web app called "Quran Studio" — a digital audio library and study dashboard. ### 1. VISUAL THEME & LAYOUT - Aesthetic: Modern, minimalist editorial design. Color palette: Deep emerald/forest green (#064e3b), slate grays, soft off-white backgrounds, with subtle gold accent highlights. - Layout: A persistent left sidebar (Links: "Library", "Reciters", "My Studio", "Settings") + a large main content area. - Typography: Clean sans-serif for UI; ensure any Arabic script rendered uses a clean, highly legible Naskh-style font with proper Right-to-Left (RTL) text alignment. ### 2. THE DATA SOURCE (CRUCIAL) Do not hardcode or mock the Quran text. Fetch the catalog dynamically from the free, public API: `https://api.alquran.cloud/v1/surah`. From this JSON, map these specific fields to the UI: - `number` (The 1-114 index) - `englishName` (e.g., "Al-Faatiha") - `name` (The Arabic text) - `englishNameTranslation` (e.g., "The Opening") - `numberOfAyahs` (e.g., 7) - `revelationType` ("Meccan" or "Medinan") ### 3. MAIN VIEW: THE "BIBLIOTHÈQUE" (CATALOG) - Top Bar: A search input (filters the grid live by Surah English name, Arabic name, or Number) + a Filter Dropdown (All, Meccan Only, Medinan Only). - The Grid: A responsive 3-to-4 column grid of Surah Cards. - Card Anatomy: - Top Left: The Surah `number` inside a subtle circular badge. - Top Right: The `name` (Arabic script). - Center: `englishName` in bold, with `englishNameTranslation` directly beneath it in a smaller, muted font. - Footer: A pill-tag showing "[X] Verses" and a separate pill showing "[Meccan/Medinan]". - Hover effect: Cards should have a very subtle upward lift and border-highlight on hover. ### 4. THE SURAH DETAIL VIEW (ON CARD CLICK) When a user clicks a card, open a clean view for that Surah: - Fetch the verses from `https://api.alquran.cloud/v1/surah/{number}/editions/quran-uthmani,en.asad` - Display the verses stacked vertically. Each row shows the Arabic on the right, and the English translation on the left. - Attach a fixed, floating Audio Player to the bottom of the screen linked to Mishary Rashid Alafasy's free audio stream for that Surah: `https://cdn.islamic.network/quran/audio-surah/128/ar.alafasy/{number}.mp3`. - The player needs: Play/Pause, a working scrub bar, current time / duration, and a 1x / 1.25x / 1.5x speed toggle. ### 5. TECHNICAL REQUIREMENTS - Use `lucide-react` for all iconography. - Include sleek, shimmering Skeleton Loaders for the grid while the API fetches. - Write clean, strictly typed TypeScript.

LandingLoginLibrarySurahDetailReciters
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document for red-idea

1. Introduction

The project "red-idea" is a comprehensive digital platform designed to serve as a Quranic study and multimedia resource center. It will feature a variety of functionalities including a digital audio library, video and image uploads, and tools for creating Quranic videos with customizable backgrounds. This document outlines the system requirements for the development and implementation of the "red-idea" platform.

2. System Overview

The "red-idea" platform aims to provide users with a rich and interactive experience for studying and engaging with Quranic content. It will include features such as a dynamic catalog of Surahs, multimedia uploads, and a video creation tool. The platform will be built using modern web technologies to ensure responsiveness and accessibility across devices.

Page 2 of 5

3. Functional Requirements

  • As a User, I should be able to upload videos and images featuring a variety of reciters.
  • As a User, I should be able to create Quranic videos with different backgrounds.
  • As a User, I should be able to download all uploaded and created content.
  • As a User, I should be able to search and filter Surahs by English name, Arabic name, or number.
  • As a User, I should be able to view Surah details including verses in both Arabic and English.
  • As a User, I should be able to listen to audio recitations with a functional audio player.
  • As a User, I should be able to select playback speed for audio recitations.
  • As a User, I should see a responsive grid of Surah cards with hover effects.
  • As a User, I should experience smooth transitions and loading animations while data is being fetched.

4. User Personas

  • General User: Interested in studying the Quran and accessing multimedia resources.
  • Content Creator: Focused on creating and sharing Quranic videos with customizable elements.
  • Administrator: Manages content uploads and oversees platform functionality.

5. Core User Flows

  • User uploads video/image -> selects reciter -> customizes background -> creates video -> downloads content.
  • User searches Surah -> filters by type -> selects Surah card -> views details -> listens to audio.
  • Content Creator accesses video creation tool -> uploads media -> customizes settings -> publishes video.
Page 3 of 5

6. Visuals Colors and Theme

  • primary: #064e3b (Deep emerald/forest green)
  • primary_light: #0a7f5a (Lighter tint of primary)
  • secondary: #b8860b (Subtle gold)
  • accent: #ff4500 (Vibrant orange-red for CTAs)
  • highlight: #ffd700 (Warm gold for notifications)
  • bg: #f5f5f5 (Soft off-white background)
  • surface: rgba(255, 255, 255, 0.9) (Card/panel background)
  • text: #333333 (Primary text color)
  • text_muted: #777777 (Muted text color)
  • border: rgba(0, 0, 0, 0.1) (Subtle border color)

7. Signature Design Concept

The homepage of "red-idea" will feature an interactive Quranic galaxy map. Each star in the galaxy represents a Surah, and users can navigate the map by clicking on stars to explore Surah details. The map will be rendered using @react-three/fiber for a 3D experience, with smooth transitions and animations powered by gsap. Hovering over a star will display a brief Surah summary, and clicking will zoom into a detailed view. This concept will create an engaging and memorable first impression, encouraging users to explore the Quran in a unique way.

Page 4 of 5

8. Interaction Model & Motion Direction

  • Landing Page Interaction Model: Parallax
    • The landing page will feature layered depth via scroll, with decorative elements translating at different speeds to create a dynamic storytelling experience.
  • Internal Pages: Animated
    • Moderate scroll-triggered reveals and hover transitions will be used to enhance user interaction without overwhelming the content.

9. Non-Functional Requirements

  • The platform must be responsive and accessible on all devices.
  • Ensure fast load times and efficient data fetching from APIs.
  • Maintain high security standards for user data and content uploads.

10. Tech Stack

  • Frontend: Next.js, Tailwind CSS, TypeScript
  • Backend: Node.js with Express
  • Database: MongoDB
  • Iconography: lucide-react
  • 3D and Animation Libraries: @react-three/fiber, gsap
Page 5 of 5

11. Assumptions and Constraints

  • The platform will rely on external APIs for Quranic text and audio data.
  • Users will have sufficient internet bandwidth to stream audio and video content.
  • The system will be designed to handle a moderate level of concurrent users.

12. Glossary

  • Surah: A chapter of the Quran.
  • Ayah: A verse of the Quran.
  • Reciter: An individual who recites the Quran.
  • Naskh: A style of Arabic script used in Quranic text.
  • API: Application Programming Interface, used for fetching data.

This document outlines the requirements for the "red-idea" project, ensuring a comprehensive and interactive platform for Quranic study and multimedia engagement.

Landing design preview
Landing: View Platform
Login: Sign In
Dashboard: View Stats
Dashboard: Manage Content
Media: Review Uploads
Media: Approve Content
Media: Remove Content
Reciters: Manage Reciters
Reciters: Add Reciter
Settings: Configure Platform