Learn-Web is a full-stack course platform built with Vue 3, TypeScript, Pinia, and Appwrite that allows users to browse courses, authenticate securely, and access structured learning content.
👉 Live Demo:
https://learn-web-es5r-91zuagkkt-pallavsharma9s-projects.vercel.app/
✅ Secure Authentication (Signup / Login / Logout)
✅ Cloud Backend powered by Appwrite
✅ Dynamic Course Pages
✅ Structured Syllabus System
✅ Image Storage via Appwrite Buckets
✅ Protected Content Architecture (ready for purchase gating)
✅ Responsive UI (Mobile + Desktop)
✅ Centralized State Management with Pinia
✅ Production Deployment on Vercel
This project follows a frontend-first architecture using Appwrite as a Backend-as-a-Service.
- Vue 3
- TypeScript
- Pinia
- Vue Router
- Tailwind CSS
- Appwrite Authentication
- Appwrite Database
- Appwrite Storage
- Vercel
- Users create an account via Appwrite.
- Secure sessions are maintained using cookies.
- Protected features can be gated based on authentication.
- title
- description
- price
- discount
- thumbnailId
- instructor
- courseId (relation)
- title
- imageId
- order
This relational structure allows scalable course expansion.
git clone https://github.com/PallavSharma9/learn-web.git
npm install
VITE_APPWRITE_ENDPOINT= VITE_APPWRITE_PROJECT_ID= VITE_DB_ID= VITE_COURSE_TABLE_ID= VITE_SYLLABUS_TABLE_ID= VITE_STORAGE_BUCKET_ID=
npm run dev
🔥 Future Improvements
Payment Integration (Stripe/Razorpay)
Course Purchase System
Video Streaming Access Control
Admin Dashboard
Role-based Authorization
Email Notifications
Course Progress Tracking