A full-stack YouTube Learning Management System with AI-powered study assistance. Track your learning progress, generate smart summaries, and master YouTube content efficiently.
- Google OAuth 2.0 - Secure login with Google accounts
- Profile Management - Update username, view profile picture from Google
- JWT-based Sessions - Secure token-based authentication
- Import YouTube Playlists - Add playlists via URL or playlist ID
- Progress Tracking - Mark videos as completed, track completion percentage
- Visual Progress Bars - Real-time progress indicators for each playlist
- Jump Back In - Quick access to last watched videos
- Mini Player - Embedded YouTube player with controls
- Smart Summaries - Generate AI-powered summaries from YouTube videos
- 3 Summary Levels: Short, Medium, Detailed
- Multi-language Support: English, Hindi, Telugu
- Animated selector interface with smooth transitions
- Practice Questions - Automatically generate quiz questions from video content
- Clarifications - Get AI explanations for complex topics
- Manual Text Processing - Process transcript text or notes directly
- PDF Export - Download summaries as formatted PDFs
- Video title as heading
- Professional borders and justified text
- Filename:
{video-title}-summary.pdf
- Personalized Dashboard - View total courses and completion rates
- Study Heatmap - GitHub-style contribution heatmap showing daily study activity
- Statistics - Track completed courses, total courses, and progress
- Motivation Quotes - Daily inspiration to keep you motivated
- Video Notes - Take timestamp-based notes while watching videos
- Notes Management - View, edit, and organize notes per playlist
- User Profile - View and edit profile information
- Completed Playlists - Track your learning achievements
- Quiz Results - View quiz performance history
- Study Streak - Visualize learning consistency
- Dark/Light Theme - Toggle between dark and light modes
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Smooth Animations - Framer Motion-powered transitions and interactions
- Loading States - Skeleton loaders for better perceived performance
- Error Handling - Graceful error messages and retry mechanisms
- React - UI library
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation library
- React Router - Client-side routing
- Lucide React - Icon library
- jsPDF - PDF generation
- @react-oauth/google - Google OAuth integration
- Node.js - JavaScript runtime
- Express - Web framework
- MongoDB - NoSQL database
- Mongoose - MongoDB ODM
- JWT - Token-based authentication
- google-auth-library - Google OAuth verification
- Groq API - AI-powered text processing
- YouTube Transcript API - Fetch video transcripts
- YouTube oEmbed API - Fetch video metadata
- Axios - HTTP client
- Helmet - Security middleware
- Morgan - HTTP request logger
- CORS - Cross-origin resource sharing
- Node.js (v14 or higher)
- MongoDB (local or MongoDB Atlas)
- Google Cloud Console account (for OAuth credentials)
- Groq API key
Create .env files in both frontend and backend directories:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com
GROQ_API_KEY=your_groq_api_key
PORT=5000VITE_API_URL=http://localhost:5000
VITE_GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com- Clone the repository
git clone https://github.com/yourusername/learntrack-yt.git
cd learntrack-yt- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install-
Set up Google OAuth
- Go to Google Cloud Console
- Create a new project or select an existing one
- Configure the OAuth consent screen (choose user type, add app details, and save/publish)
- Create OAuth 2.0 Client ID credentials (Application type: Web application)
- Add authorized JavaScript origins:
http://localhost:5173(development)- Your production frontend URL
- Copy the Client ID to your
.envfiles
-
Start the development servers
Backend:
cd backend
npm startFrontend (in a new terminal):
cd frontend
npm run devThe app will be available at http://localhost:5173
- Push your code to GitHub
- Import project in Vercel
- Add environment variables:
VITE_API_URL- Your backend URLVITE_GOOGLE_CLIENT_ID- Your Google Client ID
- Deploy
- Create a new web service
- Connect your GitHub repository
- Add environment variables
- Deploy
- Add your production frontend URL to Google Console's Authorized JavaScript Origins
- Update backend CORS to include production frontend URL
- Sign In - Click "Get Started" and sign in with your Google account
- Import Playlist - Go to "My Courses" and paste a YouTube playlist URL
- Track Progress - Click videos to mark as completed, watch progress bars update
- AI Learning - Visit "AI Studio" to generate summaries and practice questions
- Take Notes - Use the notes section while watching videos
- Download Summaries - Export AI summaries as PDFs for offline study
- View Dashboard - Check your study heatmap and statistics
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- YouTube API for video data
- Groq for AI capabilities
- Google OAuth for authentication
- All open-source libraries used in this project
Built with ❤️ for learners by learners