A comprehensive one-stop platform for all your JEE preparation needs, featuring AI-powered tutoring, study materials, official papers, and more.
- Features
- Technologies Used
- Getting Started
- Building for Production
- Project Structure
- All versions
- Contributing
- License
- Support
- AI Tutor: Personalized JEE preparation assistance powered by NextAuth authentication and MongoDB-backed chat history
- Syllabus Tracker: Track your JEE preparation progress across all subjects with chapter-wise completion tracking
- Study Materials: Comprehensive resources for Physics, Chemistry, and Mathematics
- Official Papers: Direct access to JEE Main and Advanced official papers and answer keys
- Chapter-wise PYQs: Solved previous year questions organized by chapters
- Blog & Articles: Expert JEE preparation tips, strategies, and study guides with search and filtering
- Real-time News: Latest JEE-related news and updates powered by GNews API
- Contact Form: Email integration for user queries and feedback
- Modern and responsive UI built with Next.js and Tailwind CSS
- Dark/Light theme support with system preference detection
- Mobile-first design approach
- Smooth animations and hover effects
- SEO optimized with automatic sitemap generation
- Physics Resources: Complete study materials and reference books
- Chemistry Resources: Comprehensive chemistry study guides
- Mathematics Resources: Extensive math preparation materials
- Additional Platforms: Integration with Unacademy, Physics Wallah, and Apni Kaksha
- Authentication via NextAuth.js (Google OAuth)
- File upload and attachment support
- Markdown and LaTeX rendering for mathematical expressions
- Chat history persistence backed by MongoDB
- Real-time message streaming
- Privacy Policy and Terms of Service
- Progress tracking for Physics, Chemistry, and Mathematics
- Chapter-wise completion tracking for Theory, PYQs, and Revision
- Visual progress indicators and statistics
- Export progress as an image with
html-to-image - Import/export progress data across devices
- Local storage persistence β never lose progress
- Motivation-driven progress visualization
- Subject-wise progress overview
- Real-time JEE news from GNews API
- Categorized news cards
- Automatic content refresh
- Mobile-responsive news layout
- Expert preparation tips and strategies
- Subject-wise study guides and book recommendations
- Time management and common mistakes advice
- MDX-based article system with frontmatter metadata
- Search and category filtering
- Featured article highlighting
- Reading progress tracking with table of contents
- Social sharing integration
- SEO optimized with structured data
- Unacademy: Direct links to Unacademy JEE courses
- Physics Wallah: Access to PW study materials
- Apni Kaksha: Additional study resources
- Framework: Next.js 16 with App Router
- UI Library: React 19
- Styling: Tailwind CSS with custom animations
- Icons: Lucide React & React Icons
- Theme Management: @teispace/next-themes
- Floating UI: @floating-ui/react for tooltips and popovers
- Markdown Rendering: React Markdown with remark-gfm for GitHub Flavored Markdown
- Math Rendering: KaTeX with rehype-katex for mathematical expressions
- Heading Anchors: rehype-slug for blog table of contents
- Content Management: gray-matter for MDX frontmatter parsing
- Image Export: html-to-image for exporting the Syllabus Tracker
- Auto-resize Textarea: react-textarea-autosize for the AI Tutor chat input
- Authentication: NextAuth.js v4 with Google OAuth provider
- Database: MongoDB with @auth/mongodb-adapter for session and user storage
- Caching / Rate Limiting: Upstash Redis
- Token Handling: jsonwebtoken (JWT)
- Email Service: Nodemailer for contact form
- News API: GNews API for real-time updates
- API Routes: Next.js API routes
- Build Tool: Turbopack for faster development
- SEO: next-sitemap for automatic sitemap generation
- Analytics: @next/third-parties for Google Analytics integration
- Ad Integration: Google AdSense support
- Performance: Image optimization, caching headers, and production webpack chunk splitting
- Deployment: Vercel
- Clone the repository:
git clone https://github.com/Samya-S/jeechallenger-app.git
cd jeechallenger-app- Install dependencies:
npm install- Create a
.env.localfile in the root directory and add your environment variables:
# Email Configuration (for Contact form)
AUTH_EMAIL=your-email@example.com
AUTH_PASS=your-email-app-password
SENDER_EMAIL=your-email@example.com
RECEIVER_EMAIL=recipient@example.com
# GNews API Configuration
GNEWS_API_KEY=your-gnews-api-key
# Google OAuth Configuration (for NextAuth)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# NextAuth Configuration
NEXTAUTH_SECRET=your-nextauth-secret
NEXTAUTH_URL=http://localhost:3000
# MongoDB Configuration (for auth adapter and chat history)
MONGODB_URI=your-mongodb-connection-string
# Upstash Redis Configuration (for rate limiting / caching)
UPSTASH_REDIS_REST_URL=your-upstash-redis-url
UPSTASH_REDIS_REST_TOKEN=your-upstash-redis-token
# JWT Configuration
JWT_SECRET=your-jwt-secret
# AI Tutor Backend (for production)
# The app uses API rewrites to connect to the AI tutor backend- Run the development server:
npm run dev- Open http://localhost:3000 in your browser to see the result.
npm run build
npm startjeechallenger-app/
βββ app/ # Next.js App Router pages
β βββ ai-tutor/ # AI Tutor functionality
β β βββ privacy/ # AI Tutor Privacy Policy
β β βββ terms/ # AI Tutor Terms of Service
β βββ syllabus-tracker/ # Progress tracking system
β βββ blog/ # Blog post display with dynamic routes
β β βββ [slug]/ # Dynamic blog post pages
β β βββ components/ # Blog UI components (TOC, Share, etc.)
β β βββ hooks/ # Blog custom hooks
β βββ blogs/ # Blog listing page with search/filter
β βββ materials/ # Study materials
β β βββ physics/ # Physics resources
β β βββ chemistry/ # Chemistry resources
β β βββ mathematics/ # Mathematics resources
β β βββ chapterwise-solved-pyqs/ # PYQs by chapter
β βββ more-platforms/ # External platform links
β βββ news/ # Latest JEE news section
β βββ official-links/ # JEE official papers
β βββ contact-us/ # Contact form
βββ components/ # Reusable React components
β βββ AiTutorComponents/ # AI Tutor specific components
β βββ common/ # Shared components
β βββ home/ # Home page components
β βββ utils/ # Utility components
βββ data/ # Content data
β βββ blog/ # Blog articles
β βββ articles/ # MDX article files
βββ docs/ # Documentation
β βββ blog-structure.md # Blog system documentation
β βββ color-system.md # Design system colors
βββ lib/ # Utility functions and configs
βββ server/ # Server actions
βββ public/ # Static assets
Upgraded the vanilla JavaScript project to a modern Next.js application with many more features.
Note
This is a major update and is managed in this repository.
This is version 1.2, made using HTML, CSS and vanilla JavaScript. The code is available at Samya-S/jeechallenger-v1.2 (archived).
This version includes PHP. The code is available at Samya-S/jeechallenger-v1.1 (archived).
This version is made using HTML, CSS and vanilla JavaScript. The code is available at Samya-S/jeechallenger-v1.0 (archived).
Contributions are welcome! Please feel free to submit a Pull Request.
- Follow the existing code structure and naming conventions
- Ensure responsive design for all new components
- Add proper TypeScript types if applicable
- Test on both light and dark themes
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
Join our community:
- π¬ Telegram: t.me/jeechallenger
- πΈ Instagram: @jeechallenger
- π₯ YouTube: @jeechallenger
If you find this project helpful and would like to support its development, consider becoming a sponsor. Your support helps maintain and improve the project.