ββββββ βββ βββ ββββββββββββββββββββ ββββββββββ βββ βββββββ
βββββββββββ βββ ββββββββββββββββββββ βββββββββββββββββββββββ
βββββββββββ βββ ββββββββ βββ βββ ββββββ βββββββββ βββ
βββββββββββ βββ ββββββββ βββ βββ ββββββ βββββββββ βββ
βββ ββββββ ββββββββ ββββββββ βββ βββββββββββββββββββββββββββββ
βββ ββββββ ββββββββ ββββββββ βββ βββββββ βββββββ βββ βββββββ
β¨ Live Demo Β Β·Β π Documentation Β Β·Β π Report Bug Β Β·Β π‘ Request Feature
AI Study is a full-stack, AI-powered learning assistant built for students and self-learners who want to study smarter, not harder. Upload your documents, chat with an AI tutor, auto-generate quizzes, and track your progress β all in one seamless platform.
Whether you're cramming for exams, mastering a new skill, or exploring a subject out of curiosity β AI Study adapts to your pace, your materials, and your goals.
Engage in real-time, context-aware conversations with an AI tutor trained to explain complex concepts simply. Ask follow-up questions, request analogies, get code explanations β your tutor never gets tired.
- Powered by OpenAI / Gemini API for blazing-fast, intelligent responses
- Remembers conversation context for multi-turn dialogues
- Handles STEM, humanities, programming, and more
Upload your lecture notes, textbooks, or research papers and let the AI extract knowledge from them instantly.
- Drag-and-drop file upload interface
- AI reads, parses, and understands document content
- Ask questions directly about your uploaded content
- Supports PDF, DOCX, and TXT formats
Stop making flashcards manually. Let the AI generate custom quizzes from your study material in seconds.
- Auto-generates MCQ, True/False, and short-answer questions
- Difficulty levels: Easy β Medium β Hard
- Instant feedback and explanations for wrong answers
- Powered by document context for hyper-relevant questions
Visualize your learning journey. Know what you've studied, where you're excelling, and what needs more attention.
- Personal dashboard with study streaks and session history
- Quiz score analytics over time
- Topic-wise performance breakdown
- Motivating milestones and insights
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js (React) | UI, routing, server-side rendering |
| Backend | Node.js + Express | REST API, business logic |
| Database | MongoDB | User data, sessions, quiz results |
| AI Engine | OpenAI / Gemini API | Chat, Q&A, quiz generation |
| Auth | JWT / Firebase Auth | Secure user authentication |
| File Handling | Multer / PDFParse | Document upload & text extraction |
| Styling | Tailwind CSS | Responsive, utility-first design |
AI-Learning-Assistant/
β
βββ π frontend/ # Next.js React Application
β βββ π app/ # App Router (Next.js 13+)
β β βββ π (auth)/ # Auth pages β login, signup
β β βββ π dashboard/ # Progress dashboard
β β βββ π chat/ # AI Chat interface
β β βββ π quiz/ # Quiz generation & attempt
β β βββ π upload/ # Document upload & analysis
β βββ π components/ # Reusable UI components
β βββ π lib/ # Utility functions & API calls
β βββ π public/ # Static assets
β
βββ π backend/ # Node.js + Express Server
β βββ π routes/ # API route definitions
β β βββ auth.js # Authentication endpoints
β β βββ chat.js # AI Chat endpoints
β β βββ quiz.js # Quiz generation & submission
β β βββ upload.js # File upload endpoints
β β βββ progress.js # User progress endpoints
β βββ π controllers/ # Route handler logic
β βββ π models/ # MongoDB Mongoose schemas
β β βββ User.js # User model
β β βββ Quiz.js # Quiz & results model
β β βββ Document.js # Uploaded document model
β β βββ Progress.js # Progress tracking model
β βββ π middleware/ # Auth, error handling
β βββ π utils/ # Helper utilities
β βββ π config/ # DB & environment config
β βββ server.js # Express app entry point
β
βββ .env.example # Environment variable template
βββ .gitignore
βββ package.json
βββ README.md
Make sure you have the following installed:
- Node.js v18 or higher
- npm or yarn
- MongoDB (local or MongoDB Atlas)
- An OpenAI or Gemini API key
git clone https://github.com/TechGenDM/AI-Learning-Assistant.git
cd AI-Learning-AssistantCreate a .env file in the /backend directory:
# Server
PORT=5000
NODE_ENV=development
# Database
MONGO_URI=your_mongodb_connection_string
# Authentication
JWT_SECRET=your_super_secret_jwt_key
# AI API
OPENAI_API_KEY=your_openai_api_key
# OR
GEMINI_API_KEY=your_gemini_api_keyCreate a .env.local file in the /frontend directory:
NEXT_PUBLIC_API_URL=http://localhost:5000/apiBackend:
cd backend
npm installFrontend:
cd frontend
npm installStart the backend server:
cd backend
npm run dev
# Server running at http://localhost:5000Start the frontend:
cd frontend
npm run dev
# App running at http://localhost:3000Now open http://localhost:3000 in your browser. π
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/register |
Register a new user |
POST |
/api/auth/login |
Login & receive JWT token |
GET |
/api/chat |
Fetch chat history |
POST |
/api/chat/message |
Send message to AI tutor |
POST |
/api/upload |
Upload a PDF/document |
GET |
/api/upload/:id/analyze |
Analyze uploaded document |
POST |
/api/quiz/generate |
Generate quiz from document/topic |
POST |
/api/quiz/submit |
Submit quiz answers |
GET |
/api/progress |
Get user progress & analytics |
GET |
/api/progress/history |
Get session history |
Full API documentation available in
/backend/docs/api.md
| Dashboard | AI Chat | Quiz Generation |
|---|---|---|
| π | π¬ | π§ |
| Progress overview & analytics | Context-aware AI tutor | Auto-generated assessments |
π Add screenshots of your app here by placing images in
/public/screenshots/and updating this section.
- AI Chat & Q&A with conversation memory
- PDF & document upload and analysis
- Quiz generation from document content
- User progress tracking & dashboard
- π Spaced repetition flashcard system
- π Multi-language support
- π Collaborative study rooms
- π Voice-to-text input for chat
- π Mobile app (React Native)
- π AI-generated study plans & roadmaps
Contributions are what make the open-source community amazing. Any contributions you make are greatly appreciated!
- Fork the project
- Create your feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and contribution guidelines.
Found a bug? Have a suggestion?
π Open an Issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected vs. actual behavior
- Screenshots if applicable
Distributed under the MIT License. See LICENSE for more information.
- OpenAI β For the powerful AI API
- Next.js β The React framework for production
- MongoDB β Flexible, scalable database
- Tailwind CSS β Utility-first CSS framework
- Vercel β Seamless frontend deployment
Built with β€οΈ by TechGenDM
If this project helped you, please consider giving it a β β it means the world!