Welcome to the official GitHub organization of the Youth Development Chapter (YDC). We are a youth-led community organization dedicated to character building, skill acquisition, and community service for the youth of South Punjab.
Through our digital ecosystem, we gamify positive community actions and progressive learning, rewarding volunteers with YDC Coins that can be redeemed for tangible benefits.
Our mission is structured around three foundational pillars:
graph TD
A[YDC Core Pillars] --> B(🌟 Character)
A --> C(💼 Career)
A --> D(🤝 Community)
B --> B1[Bilingual LMS Courses]
C --> C1[Skill-building Workshops]
D --> D1[Volunteer Deeds & Local Events]
- Character (کردار): Moral grounding, leadership coaching, and civic responsibility taught through interactive bilingual (English/Urdu) courses.
- Career (روزگار): Empowering youth with modern digital and technical skills to thrive in the global economy.
- Community (خدمت): Fostering a spirit of voluntary service through daily good deeds and regional community projects.
Our technology stack is built using modern, fast, and scalable open-source tools. Below are the primary repositories that power our platforms:
1. ydc-portal (Relational LMS & Gamification Engine)
The core administrative and volunteer hub. It manages member profiles, course tracks, quizzes, streaking, and ticket check-ins.
- Tech Stack: Next.js 16 (App Router) + React 19 + Supabase (PostgreSQL, Auth, RLS, Storage) + Tailwind CSS v4.
- Key Features: Server-side MCQ verification (prevents cheating), append-only coin transactions ledger, automated streaks calculator, and regional division scoped access control (RBAC).
2. ydc-website (Marketing & Landing Portal)
The public-facing portal introduces YDC to the world, displaying core challenges, achievements, and directing visitors to register on the main portal.
- Tech Stack: Next.js 16 + Tailwind CSS v4.
- Design & Aesthetics: Sleek dark mode, fluid CSS gradients, customized Noto Nastaliq Urdu typography, and fully responsive layouts.
The upcoming React Native or Flutter mobile application designed to bring the LMS and streak logging experience natively to iOS and Android.
- Architecture: Uses direct Supabase client bindings for data reads/storage uploads and custom Next.js REST APIs for validated operations (MCQs, redemptions, ticket scan check-ins).
- Integration Document: Refer to the Mobile Integration Guide.
Our gamification engine connects online learning and offline actions through a secure database trigger model:
sequenceDiagram
participant Volunteer as Volunteer (Web/Mobile)
participant Server as Next.js API Layer
participant DB as Supabase PostgreSQL
rect rgb(240, 248, 255)
note right of Volunteer: Daily Deed Submission
Volunteer->>DB: Upload proof image to Storage Bucket
Volunteer->>Server: POST /api/deeds/submit (deed metadata)
Server->>DB: Insert pending deed_submission
DB-->>Volunteer: Submission received
end
rect rgb(255, 240, 245)
note right of Server: Verification & Reward
Server->>DB: POST /api/admin/deeds/verify (Approve)
note over DB: Trigger handles streaks & inserts transaction ledger
DB-->>Volunteer: Awarded Coins & Streak incremented!
end
We welcome contributions from developers, designers, and educators who want to support youth in South Punjab.
To set up any YDC project locally:
- Clone the repository:
git clone https://github.com/Youth-Development-Chapter/ydc-portal.git
- Install dependencies:
npm install
- Environment Setup: Copy
.env.exampleto.env.localand fill in your Supabase project keys. - Run Dev Server:
npm run dev
main/production: Protected production-ready branch.staging/development: Integration branch for testing updates.feature/*orbugfix/*: Developer branches merged via Pull Requests.
- Official Website: https://ydc.org.pk
- Portal: https://portal.ydc.org.pk
- Queries: info@ydc.org.pk