Skip to content

100% free AI-powered learning platform that turns YouTube content into structured courses with quizzes and verifiable certificates. Built with Next.js, Node.js, and PostgreSQL.

Notifications You must be signed in to change notification settings

zakisheriff/One-Learn

Repository files navigation

One Learn

100% Free, Learning Platform with Verified Certificates


"Learning should be free for everyone."

You Learn isn't just another LMS; it's a movement toward accessible education.
Powered by AI and designed with The One Atom Color palette (Black, White, and Glassmorphism), it transforms YouTube content into structured, certified learning experiences.


🌟 Vision

You Learn's mission is to be:

  • A completely free learning platform β€” no paywalls, no subscriptions, ever
  • An AI-powered education system using Google's Gemini for intelligent assessments
  • A beautiful, modern web application with The One Atom Color palette design language

✨ Why You Learn?

Traditional online courses are expensive and gatekeep education behind paywalls.
You Learn democratizes learning by making every course, every quiz, and every certificate 100% free.


🎨 The One Atom Color Palette "Liquid Glass" Design

  • Minimalist Aesthetics
    Pure CSS implementation following The One Atom Color palette (Black, White, and Glassmorphism) design principles β€” no frameworks, just elegance.

  • Liquid Glass Effects
    Translucent overlays with backdrop-filter: blur() create depth and focus.

  • Soft Elevation
    Subtle shadows and smooth transitions provide a premium feel.

  • System Fonts
    Modern system typography for maximum legibility and premium feel.


πŸ€– AI-Powered Intelligence

  • Gemini API Integration
    Automatically generates quizzes from YouTube video content.

  • Smart Assessment
    10-question quizzes with multiple choice, true/false, and fill-in-the-blank formats.

  • Intelligent Scoring
    Case-insensitive evaluation with detailed feedback.

  • 80% Passing Threshold
    Ensures learners truly understand the material before certification.


πŸ” Enterprise-Grade Security

  • Bcrypt Password Hashing
    10 salt rounds for maximum security.

  • HttpOnly JWT Cookies
    Prevents XSS attacks on authentication tokens.

  • Google OAuth 2.0
    Secure third-party authentication option.

  • CSRF Protection
    SameSite cookie policy and rate limiting.


πŸŽ“ Complete Learning Experience

  • YouTube Integration
    Learn from the best educational content on the web.

  • Smart Navigation
    Collapsible sidebar with independent scrolling and progress indicators.

  • Progress Tracking
    Visual progress bars and lesson completion tracking.

  • Verified Certificates
    Professional PDF certificates with SHA-256 verification hashes.

  • LinkedIn Sharing
    Share achievements directly to your professional network.

  • Public Verification
    Anyone can verify certificate authenticity via unique URLs.


πŸ“ Project Structure

YouLearn/
β”œβ”€β”€ backend/                      # Node.js + Express API
β”‚   β”œβ”€β”€ server.js                 # Express server entry point
β”‚   β”œβ”€β”€ database/
β”‚   β”‚   β”œβ”€β”€ connection.js         # PostgreSQL connection pool
β”‚   β”‚   └── schema.sql            # Complete database schema
β”‚   β”œβ”€β”€ controllers/              # Business logic
β”‚   β”‚   β”œβ”€β”€ authController.js     # Authentication (Bcrypt + JWT + OAuth)
β”‚   β”‚   β”œβ”€β”€ courseController.js   # Course management
β”‚   β”‚   β”œβ”€β”€ quizController.js     # Quiz handling & scoring
β”‚   β”‚   β”œβ”€β”€ certificateController.js # Certificate generation & verification
β”‚   β”‚   └── enrollmentController.js # Progress tracking & enrollment logic
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ geminiService.js      # AI quiz generation
β”‚   β”‚   └── certificateService.js # PDF generation
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── authMiddleware.js     # JWT verification
β”‚   └── routes/                   # API endpoints
β”‚
└── frontend/                     # React + Vite SPA
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ App.jsx               # Main app with routing
    β”‚   β”œβ”€β”€ pages/                # All application pages
    β”‚   β”‚   β”œβ”€β”€ HomePage.jsx      # Landing page
    β”‚   β”‚   β”œβ”€β”€ LoginPage.jsx     # Dual auth (Email + Google)
    β”‚   β”‚   β”œβ”€β”€ CourseCatalog.jsx # Public course browsing
    β”‚   β”‚   β”œβ”€β”€ CourseDetail.jsx  # Course syllabus & enrollment
    β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx     # User dashboard
    β”‚   β”‚   β”œβ”€β”€ CourseViewer.jsx  # Video player + sidebar
    β”‚   β”‚   β”œβ”€β”€ QuizPage.jsx      # Assessment interface
    β”‚   β”‚   β”œβ”€β”€ CertificatePage.jsx # Certificate view & download
    β”‚   β”‚   β”œβ”€β”€ VerifyPage.jsx    # Public certificate verification
    β”‚   β”‚   β”œβ”€β”€ SettingsPage.jsx  # User profile settings
    β”‚   β”‚   └── HelpCenter.jsx    # Support & FAQs
    β”‚   β”œβ”€β”€ components/           # Reusable components
    β”‚   └── styles/               # Pure CSS (The One Atom Color palette)
    β”‚       β”œβ”€β”€ variables.css     # Design system tokens
    β”‚       └── [component].css
    └── index.html

Key Features

For Students

βœ… Browse Courses β€” Explore free courses without signing up
βœ… Dual Authentication β€” Email/password or Google OAuth
βœ… Video Learning β€” Embedded YouTube lessons with progress tracking
βœ… Distraction-Free Learning β€” Optimized video player with no suggestions
βœ… AI Quizzes β€” Intelligent assessments generated from video content
βœ… Verified Certificates β€” Download PDFs or share to LinkedIn
βœ… Self-Healing System β€” Robust progress tracking and status recovery

For Admins

βœ… Course Creation β€” Structured modules and lessons
βœ… AI Quiz Generation β€” Automatic quiz creation via Gemini API
βœ… Publishing Control β€” Manage course visibility


πŸ”§ Tech Stack

Backend

  • Node.js + Express.js β€” REST API server
  • PostgreSQL β€” Relational database with ACID compliance
  • Bcrypt β€” Password hashing (10 salt rounds)
  • JWT β€” Session management via HttpOnly cookies
  • Google OAuth 2.0 β€” Third-party authentication
  • Gemini API β€” AI-powered quiz generation
  • PDFKit β€” Certificate PDF generation

Frontend

  • React.js β€” Modern UI framework
  • React Router β€” Client-side routing
  • Axios β€” HTTP client
  • Pure CSS β€” No frameworks, The One Atom Color palette design
  • Vite β€” Lightning-fast build tool

πŸ“Š Database Schema

8 core tables with proper relationships:

  • users β€” Authentication with Bcrypt hashing
  • courses β€” Course metadata and structure
  • modules β€” Course sections
  • lessons β€” Individual YouTube lessons
  • quizzes β€” AI-generated assessments (JSONB)
  • enrollments β€” User progress tracking
  • quiz_attempts β€” Submission history
  • certificates β€” Verifiable certificates with SHA-256 hashes

πŸ”’ Security Features

βœ… Bcrypt Password Hashing β€” Industry-standard encryption
βœ… HttpOnly Cookies β€” XSS attack prevention
βœ… CSRF Protection β€” SameSite cookie policy
βœ… Rate Limiting β€” Brute force prevention
βœ… Helmet.js β€” Security headers
βœ… Input Validation β€” Server-side validation on all endpoints


πŸ“œ API Documentation

Public Endpoints

  • GET /api/courses β€” List all courses
  • GET /api/courses/:slug β€” Course details
  • GET /verify?id=hash β€” Verify certificate

Authentication

  • POST /api/auth/register β€” Sign up
  • POST /api/auth/login β€” Sign in
  • POST /api/auth/google β€” Google OAuth
  • POST /api/auth/logout β€” Sign out

Protected Endpoints

  • GET /api/courses/:slug/content β€” Full course content
  • POST /api/enrollments β€” Enroll in course
  • POST /api/quizzes/:id/submit β€” Submit quiz
  • GET /api/certificates/:courseId/download β€” Download PDF

πŸ“„ License

Strictly Proprietary License

All rights reserved. This project and its source code are for study and educational purposes only. You are permitted to visit the site and view the code to learn, but you may NOT use, copy, modify, distribute, or deploy this code, in whole or in part, for any purpose.


β˜•οΈ Support the Project

If You Learn helped you access free education or inspired your next project:

  • Consider buying me a coffee
  • It keeps development alive and motivates future updates

Made by Zaki Sheriff

Because education should be free for everyone.

About

100% free AI-powered learning platform that turns YouTube content into structured courses with quizzes and verifiable certificates. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages