Skip to content

Latest commit

Β 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•—      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘      β•šβ•β•β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
β•šβ•β•  β•šβ•β•β•šβ•β•    β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•β•β•β•   β•šβ•β•    β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β• β•šβ•β•β•β•β•β•

πŸŽ“ Your Intelligent, Personalized Learning Companion β€” Powered by AI


Next.js Node.js MongoDB OpenAI License: MIT


✨ Live Demo Β Β·Β  πŸ“– Documentation Β Β·Β  πŸ› Report Bug Β Β·Β  πŸ’‘ Request Feature




🌟 What is AI Study?

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.



✨ Core Features


πŸ€– AI Chat & Q&A

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

πŸ“„ PDF & Document Upload & Analysis

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

🧠 Quiz & Assessment Generation

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

πŸ“Š Progress Tracking & Dashboard

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


πŸ› οΈ Tech Stack

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


πŸ“‚ Project Structure

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


πŸš€ Getting Started

Prerequisites

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

1. Clone the Repository

git clone https://github.com/TechGenDM/AI-Learning-Assistant.git
cd AI-Learning-Assistant

2. Set Up Environment Variables

Create 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_key

Create a .env.local file in the /frontend directory:

NEXT_PUBLIC_API_URL=http://localhost:5000/api

3. Install Dependencies

Backend:

cd backend
npm install

Frontend:

cd frontend
npm install

4. Run the Application

Start the backend server:

cd backend
npm run dev
# Server running at http://localhost:5000

Start the frontend:

cd frontend
npm run dev
# App running at http://localhost:3000

Now open http://localhost:3000 in your browser. πŸŽ‰



πŸ”Œ API Reference

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



πŸ“Έ Screenshots

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.



πŸ—ΊοΈ Roadmap

  • 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


🀝 Contributing

Contributions are what make the open-source community amazing. Any contributions you make are greatly appreciated!

  1. Fork the project
  2. Create your feature branch: git checkout -b feature/AmazingFeature
  3. Commit your changes: git commit -m 'Add some AmazingFeature'
  4. Push to the branch: git push origin feature/AmazingFeature
  5. Open a Pull Request

Please read CONTRIBUTING.md for details on our code of conduct and contribution guidelines.



πŸ› Reporting Issues

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


πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.



πŸ™Œ Acknowledgements

  • 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!


GitHub stars GitHub forks

About

A Full-Stack AI-Powered Learning Assistant Web App | MERN, React.Js, Node.Js, MongoDB, Express

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages