Learn smarter with personalized AI-generated quizzes, notes and study plans
KeentoLearn is a modern, AI-powered educational platform that helps students create personalized study materials, take adaptive quizzes, and track their learning progress. Built with cutting-edge technologies including Google's Gemini AI, Next.js, and MongoDB.
- Multiple Format Options: Outline, detailed notes, concise summaries, flashcard format
- AI-Generated Content: Powered by Google Gemini for comprehensive, accurate notes
- PDF Export: Download your notes as professionally formatted PDFs
- Key Point Highlights: Automatically extracted important concepts
- Markdown Support: Rich text formatting with full markdown support
- Adaptive Difficulty: Questions adjust based on your performance
- Multiple Question Types: Multiple choice, true/false, short answer
- Instant Feedback: Real-time scoring and explanations
- Progress Tracking: Monitor your learning journey
- Custom Topics: Generate quizzes on any subject
- Goal-Oriented Structure: Tailored to your learning objectives
- Adaptive Timelines: Flexible scheduling that adapts to your pace
- Resource Recommendations: Curated study materials
- Progress Monitoring: Track completion and performance metrics
- Dark/Light Theme: Seamless theme switching
- Responsive Design: Perfect experience across all devices
- Clean Interface: Intuitive, distraction-free design
- Fast Performance: Optimized for speed and efficiency
- Next.js 15.3.2 - React framework with App Router
- TypeScript - Type-safe development
- TailwindCSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Lucide React - Beautiful icons
- MongoDB - NoSQL database
- NextAuth.js - Authentication
- bcryptjs - Password hashing
- Google Gemini AI - Content generation
- @google/generative-ai - Gemini SDK
- React Markdown - Markdown rendering
- jsPDF - PDF generation
- Sonner - Toast notifications
- Node.js 18+
- npm/yarn/pnpm
- MongoDB database
- Google AI API key
git clone KeentoLearn-App
cd KeentoLearn-App
npm install
# or
yarn install
# or
pnpm install
Create a .env.local
file in the root directory:
# Database
MONGODB_URI=your_mongodb_connection_string
# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
# Google AI
GOOGLE_API_KEY=your_google_gemini_api_key
npm run dev
# or
yarn dev
# or
pnpm dev
Open http://localhost:3000 in your browser.
keentolearn/
βββ app/ # Next.js App Router
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Landing page
β βββ globals.css # Global styles
β βββ about/ # About page
β βββ api/ # API routes
β βββ dashboard/ # User dashboard
β βββ login/ # Authentication pages
β βββ notes/ # Notes pages
β β βββ page.tsx # Notes listing
β β βββ create/ # Create notes
β β βββ [id]/ # Individual note view
β βββ quizzes/ # Quiz pages
βββ components/ # Reusable UI components
β βββ ui/ # Base UI components
β βββ auth-provider.tsx # Authentication provider
β βββ navbar.tsx # Navigation component
β βββ theme-provider.tsx # Theme provider
βββ lib/ # Utilities and actions
β βββ actions/ # Server actions
β β βββ notes-actions.ts # Notes CRUD operations
β β βββ quiz-actions.ts # Quiz operations
β βββ db/ # Database utilities
β βββ utils.ts # Helper functions
βββ public/ # Static assets
βββ package.json # Dependencies and scripts
- Navigate to Notes β Create Notes
- Enter your topic and select format/length preferences
- Add optional additional information for context
- Click Generate Notes and wait for AI processing
- View, edit, or download your generated notes as PDF
- Go to Quizzes β Create Quiz
- Specify topic, difficulty, and question count
- Take the adaptive quiz with instant feedback
- Review results and track your progress
- Access Dashboard for overview
- Create personalized study schedules
- Track progress across different subjects
- Get AI-powered recommendations
# Development
npm run dev # Start development server
# Production
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
npm run build
npm run start
Variable | Description | Required |
---|---|---|
MONGODB_URI |
MongoDB connection string | β |
NEXTAUTH_URL |
Application URL | β |
NEXTAUTH_SECRET |
NextAuth secret key | β |
GOOGLE_API_KEY |
Google Gemini API key | β |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
POST /api/notes
- Create new notesGET /api/notes
- Get user notesGET /api/notes/[id]
- Get specific noteDELETE /api/notes/[id]
- Delete note
POST /api/quiz
- Generate quizGET /api/quiz/[id]
- Get quiz dataPOST /api/quiz/[id]/submit
- Submit quiz answers
The platform uses Google's Gemini AI for generating educational content:
const genAI = new GoogleGenerativeAI(process.env.GOOGLE_API_KEY!)
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" })
Notes can be exported as PDFs using jsPDF:
import jsPDF from "jspdf"
// PDF generation logic in notes/[id]/page.tsx
Dark/light theme support with system preference detection:
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem>
The application is fully responsive and optimized for:
- π± Mobile devices (320px+)
- π± Tablets (768px+)
- π» Desktop (1024px+)
- π₯οΈ Large screens (1280px+)
Authentication Issues
- Verify
NEXTAUTH_SECRET
is set - Check MongoDB connection
- Ensure proper environment variables
AI Generation Failures
- Verify Google API key is valid
- Check API quota limits
- Ensure network connectivity
Build Errors
- Clear
.next
folder:rm -rf .next
- Reinstall dependencies:
npm install
- Check TypeScript errors:
npm run lint
- Core Web Vitals: Optimized for excellent scores
- Code Splitting: Automatic route-based splitting
- Image Optimization: Next.js Image component
- Caching: Strategic caching for better performance
- Authentication: Secure session management
- Input Validation: Server-side validation
- SQL Injection: MongoDB prevents SQL injection
- XSS Protection: Content sanitization
Built with β€οΈ by cyrixninja
- Next.js for the amazing React framework
- Google AI for powerful AI capabilities
- Vercel for seamless deployment
- TailwindCSS for beautiful styling
- Radix UI for accessible components
Ready to revolutionize your learning experience? Start with KeentoLearn today! π