Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vidyapath Logo

Vidyapath — Learn Without Limits

An offline-first, low-connectivity educational platform designed to break down barriers to learning.

Frontend Backend License: MIT

AboutFeaturesTech StackGetting StartedArchitecture


🚀 About the Project

Vidyapath is a Progressive Web Application (PWA) built from the ground up to solve the internet barrier in education. Millions of students face slow networks, stringent data limits, or no internet connection at all. Vidyapath runs a lightweight local server right inside the browser, enabling students to cache high-quality video lessons, PDFs, and quizzes to their device and learn completely offline.

When connectivity is restored, the application quietly synchronizes progress and quiz scores back to the cloud.

🔗 Live Links


✨ Key Features

📡 True Offline-First Architecture

  • Download Once, Learn Anywhere: Cache full courses, videos, and PDFs locally.
  • Service Worker Caching: Zero buffering and instant page loads via Workbox caching strategies.
  • Auto Sync: Background synchronization of learning progress when the device reconnects.

🌐 Multi-Lingual Support

  • 18 Regional Languages: Learn in the language you think in (Hindi, Bengali, Tamil, Telugu, Marathi, and more).
  • Accessible Fonts: Optimized typography for complex scripts.
  • Language Persistence: Preserves UI language and conversation history per language.

🤖 Integrated AI Tutor

  • Personalized Help: Powered by Groq API, the AI tutor explains complex topics simply.
  • Context-Aware: Knows exactly which lesson or chapter the student is studying.
  • Multi-Lingual Responses: Receives and responds in the student's preferred language.

📱 Installable PWA

  • Native app-like experience on Android, iOS, Windows, and macOS.
  • Bypasses traditional app stores.
  • Takes less than 2MB of local storage (excluding downloaded media).

🔔 Push Notifications

  • Real-time updates for new courses or announcements.
  • Admin portal capable of targeting specific classes or all students.

🛠️ Comprehensive Admin Portal

  • Content management (upload videos, PDFs, create quizzes).
  • User management and analytics.
  • Push notification broadcasting.

💻 Technology Stack

Frontend (Vercel)

  • Framework: React 19 + Vite
  • Styling: Tailwind CSS 4 + Framer Motion (Animations)
  • State Management: Zustand + TanStack Query (React Query)
  • Local Database: Dexie.js (IndexedDB wrapper for offline storage)
  • PWA: Vite PWA Plugin + Workbox Custom Service Workers

Backend (Render)

  • Runtime: Node.js + Express
  • Database: PostgreSQL (hosted on Supabase)
  • ORM: Prisma
  • Authentication: JWT + HTTP-only Cookies
  • SMS OTP: Twilio integration
  • AI Integration: Groq LLM API

⚙️ Getting Started

Prerequisites

  • Node.js (v20+ recommended)
  • PostgreSQL database
  • API Keys (Twilio, Groq, VAPID for Push Notifications)

1. Clone the repository

git clone https://github.com/LuckysHorizon/RemoteLearn-LowConnectivity-Learning-Application.git
cd RemoteLearn-LowConnectivity-Learning-Application

2. Backend Setup

cd api
npm install

# Setup environment variables (copy from .env.example)
cp .env.example .env

# Generate Prisma Client and push schema
npx prisma generate
npx prisma db push

# Start the development server
npm run dev

3. Frontend Setup

cd ../web
npm install

# Setup environment variables
echo "VITE_API_BASE_URL=http://localhost:3001/api/v1" > .env

# Start the development server
npm run dev

🏗️ Architecture

Caching Strategy

  • App Shell & UI Assets: CacheFirst strategy.
  • API Requests: NetworkFirst with aggressive stale-time settings for smooth offline fallback.
  • Media (Videos/PDFs): Stored directly in IndexedDB via Service Worker interception for robust playback without internet.

Authentication Flow

  1. User provides Phone Number.
  2. Backend generates OTP, sends via Twilio SMS, and stores in memory.
  3. User submits OTP.
  4. Backend verifies and issues JWT Access Token (JSON body) and Refresh Token (HTTP-Only Cookie).

Designed and engineered for the future of accessible education.

Releases

Packages

Contributors

Languages