Master your NPTEL courses with interactive quizzes, study materials, and a comprehensive learning experience
NPTELPrep (nptelprep.in) is a modern, feature-rich educational platform designed specifically for students taking NPTEL courses. Our mission is to provide learners with a comprehensive study environment that goes beyond traditional learning methods, offering interactive quizzes, organized study materials, video lectures, and community features.
- Interactive Quiz Platform: Practice with multiple quiz formats tailored to different learning needs
- Study Materials Repository: Access lecture notes and supplementary resources
- Video Lecture Portal: Watch and organize course video content
- Discussion Forums: Engage with other learners and share knowledge
- Study Planner: Create personalized study schedules
- Progress Tracking: Monitor your learning journey with detailed analytics
Our quiz platform offers several specialized modes to enhance your learning experience:
- Practice Mode: Unlimited time with all questions at your own pace
- Timed Quiz: Set your preferred time limit and question count
- Quick Review: 10-question quizzes with a 5-minute limit
- Weekly Quiz: Focus on specific course weeks that you select
- Progress Test: Focus on questions you've previously struggled with
NPTELPrep includes powerful learning tools to help you maximize your study sessions:
- Text-to-Speech: Audio readout of questions for auditory learners
- Flashcard Mode: Review key concepts in a flashcard format
and so much more!
NPTELPrep is built using modern web technologies:
- Framework: Next.js with TypeScript
- UI: Tailwind CSS with a custom component library
- Authentication: NextAuth.js
- Database: Prisma ORM on Neon
- Deployment: Vercel
- Browse Courses: Explore our catalog of NPTEL courses
- Practice Questions: Access 100,000+ practice questions
- Track Progress: Monitor your learning improvement
- Join Discussions: Engage with other learners
- Prepare Effectively: Get ready for your NPTEL certification exams
- Node.js (v18+)
- npm
# Clone the repository
git clone https://github.com/theg1239/nptel-quiz.git
# Navigate to the project directory
cd nptel-quiz
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Run the development server
npm run devnpm run dev- Start the development server with Turbopacknpm run build- Build for production (includes Prisma generation)npm run start- Start the production servernpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run format:check- Check code formatting
├── app/
│ ├── api/ # API routes
│ ├── about/ # About page
│ ├── courses/ # Course pages and features
│ │ └── [course_code]/# Dynamic course routes
│ │ ├── discussions/ # Course discussions
│ │ ├── materials/ # Study materials
│ │ ├── practice/ # Practice sessions
│ │ ├── quiz/ # Quiz features
│ │ ├── study-planner/# Study planning tools
│ │ └── videos/ # Video lectures
├── components/ # React components
│ └── ui/ # UI components
├── lib/ # Utility functions and actions
├── prisma/ # Prisma schema and migrations
├── public/ # Static assets
└── types/ # TypeScript type definitions
We welcome contributions from the community! Whether it's adding new features, fixing bugs, or improving documentation, your help makes NPTELPrep better for everyone.
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add a cool new feature') - Push to the branch (
git push origin feature/newfeature) - Open a Pull Request
If you notice any bugs or would like to suggest feature improvements, open an issue.
Made with ❤️ for NPTEL learners
