Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
Deen-Bridge/dnb-frontend: ✨ Deen Bridge 🕌 — Next.js platform for authentic Islamic education (courses, books, spaces, mentorship) with a cited AI assistant and non-custodial Stellar/USDC payments.

Deen-Bridge/dnb-frontend: ✨ Deen Bridge 🕌 — Next.js platform for authentic Islamic education (courses, books, spaces, mentorship) with a cited AI assistant and non-custodial Stellar/USDC payments.

11 hours ago

🕌 Deen Bridge

Authentic Islamic education — courses, books, community, and mentorship, with payments on Stellar.

CI</a> License: MIT</a> PRs Welcome</a> Stellar</a>

Live App · Report a Bug · Contribute


📸 Screenshots

| Landing Page | Login / Sign Up | |:---:|:---:| | !Landing Page | !Login | | !Dashboard | !Admin Area |


About

Deen Bridge is a modern learning platform that connects Muslims worldwide with authentic Islamic knowledge. Learners enroll in interactive courses, read from a digital library, join live community spaces, message mentors directly, and get instant answers from an Islamic-knowledge AI assistant. Courses and books are purchased with USDC on the Stellar network — non-custodial, with creators paid directly to their own wallets.

This repository is the web client. The platform is composed of three services:

| Repository | Role | Live | |------------|------|------| | dnb-frontend (this repo) | Next.js web application | dnb-frontend.vercel.app | | dnb-backend | REST API — auth, content, Stellar payments | dnb-backend-api.onrender.com | | dnb-ai | FastAPI service for the AI assistant | dnb-ai.onrender.com |

✨ Features

  • 🎓 Interactive Courses — enroll, learn, review, and track progress
  • 📚 Digital Library — read Islamic books online with a built-in PDF reader
  • 💬 Community Spaces — live sessions and video rooms with mentors
  • 🎬 Reels — short-form Islamic content
  • ✉️ Direct Messaging — real-time chat between students and mentors
  • 🤖 AI Assistant — Islamic-knowledge chatbot with conversation history
  • ⭐ Stellar Payments — buy courses and books with USDC; creators are paid directly
  • 🎓 Stellar Scholarship Escrow — private scholarship applications with two-review selection, Soroban USDC funding, and arbiter-reviewed milestone releases
  • 👛 Multi-Wallet Support — Freighter, xBull, and Albedo via Stellar Wallets Kit
  • 🔒 Role-Based Access — student, mentor, and admin experiences
  • 🛡️ Admin Area — role-tiered admin access (staff / super-admin) with isolated gating logic (architecture guide); see the admin route map for route status and API wiring.
  • 👥 Team Management — super-admin-only admin roster with invite links and demote/revoke actions guarded by step-up confirmation

🛠️ Tech Stack

| Layer | Technology | |-------|------------| | Framework | Next.js 15 (App Router) · React 19 | | Styling | Tailwind CSS v4 · Radix UI · Framer Motion | | Forms & Validation | React Hook Form · Zod | | Blockchain | @stellar/stellar-sdk · Stellar Wallets Kit | | Data & Media | Axios · Firebase · Vidstack · pdf.js |

🚀 Getting Started

Prerequisites

  • Node.js 20+
  • npm (or yarn/pnpm)

Setup

git clone https://github.com/Deen-Bridge/dnb-frontend.git
cd dnb-frontend
npm install
cp .env.example .env.local   # then fill in your values
npm run dev

The app runs at http://localhost:3000.

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | NEXT_PUBLIC_API_URL | No (default http://localhost:5000) | Base URL of the dnb-backend API | | NEXT_PUBLIC_AI_API_URL | No (default http://localhost:8000) | Base URL of the dnb-ai AI assistant service | | NEXT_PUBLIC_STELLAR_NETWORK | No (default testnet) | Stellar network — testnet or mainnet | | NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME | Yes | Cloudinary cloud name for unsigned image/video uploads | | NEXT_PUBLIC_JITSI_DOMAIN | No (default meet.jit.si) | Jitsi Meet domain for live video spaces | | NEXT_PUBLIC_JITSI_REQUIRE_JWT | No (default false) | Whether the Jitsi deployment requires a signed JWT token | | NEXT_PUBLIC_FIREBASE_* | No | Firebase Web SDK config values (apiKey, authDomain, projectId, etc.) — defaults to the project's current values | | NEXT_PUBLIC_ADMIN_INVITE_BASE_URL | No (default current origin) | Base URL used when building admin invite links generated on the team management page | | NEXT_PUBLIC_ADMIN_INVITE_TTL_HOURS | No (default 72) | Validity window (in hours) surfaced for admin invite tokens — enforced by the backend |

See .env.example for the full variable list with example values.

Scripts

| Command | Purpose | |---------|---------| | npm run dev | Start the development server (Turbopack) | | npm run build | Production build | | npm run start | Serve the production build | | npm run lint | Run ESLint |

Contributing

  • Pull requests target main and are squash-merged automatically when repository checks and review gates pass.
  • CI (lint + build) must pass before review
  • Claim or confirm an issue with the maintainers before starting substantial work.
Read CONTRIBUTING.md for the full workflow and coding standards.

📜 License

MIT © Deen Bridge

🔗 Links

Chat with me