An AI-powered study and knowledge assistant that converts topics and questions into structured, easy-to-understand study notes.
AI Smart Notes App is a full-stack web application designed to help students learn faster and organize knowledge more effectively.
A user can enter a topic or question such as:
Explain Machine Learning in detail.
The application uses AI to generate structured learning content including:
- Short Summary
- Simple Explanation
- Important Points
- Key Terms
- Step-by-Step Explanation
- Examples
- Advantages and Disadvantages
- Frequently Asked Questions
- Study Notes
Generate intelligent explanations and notes from any topic or question.
Convert large or complex topics into organized study material.
AI-generated responses can be organized into:
- Summary
- Simple Explanation
- Important Points
- Key Terms
- Detailed Explanation
- Examples
- Advantages
- Disadvantages
- FAQs
The backend supports user authentication using JWT.
The application is designed with a separate frontend and backend.
- React
- Vite
- JavaScript
- HTML5
- CSS3
- Python
- Flask
- Flask-CORS
- Python-dotenv
- Requests
- PyJWT
- OpenAI API
- VS Code
- PowerShell
- npm
- Python Virtual Environment
AI-Smart-Notes-App/
β
βββ README.md
βββ requirements.txt
βββ .env
β
βββ backend/
β βββ app.py
β β
β βββ config/
β β βββ config.py
β β
β βββ routes/
β β βββ auth_routes.py
β β βββ ...
β β
β βββ models/
β β βββ ...
β β
β βββ services/
β βββ ...
β
βββ frontend/
β βββ package.json
β βββ index.html
β βββ src/
β β βββ App.jsx
β β βββ main.jsx
β β βββ components/
β β βββ pages/
β β
β βββ public/
β
βββ .venv/
Open PowerShell in the project directory.
python -m venv .venv.venv\Scripts\Activate.ps1You should see:
(.venv)
python -m pip install -r requirements.txtIf openai or PyJWT is missing:
python -m pip install openai PyJWTCreate a .env file in the project root.
OPENAI_API_KEY=your_api_key_here
SECRET_KEY=your_secret_keyDo not commit .env or your API key to GitHub.
Because the backend uses imports such as config.config and routes.auth_routes, run it from the backend directory:
cd backend
python app.pyThe backend should start at:
http://127.0.0.1:5000
Open a second PowerShell terminal.
Go to the frontend:
cd "E:\IIT DELHI PROJECT\AI-Smart-Notes-App\frontend"Install dependencies:
npm installRun the development server:
npm run devVite should display a URL similar to:
http://localhost:5173
Open that URL in your browser.
You need two terminals.
cd "E:\IIT DELHI PROJECT\AI-Smart-Notes-App\backend"
python app.pycd "E:\IIT DELHI PROJECT\AI-Smart-Notes-App\frontend"
npm run devThen open the frontend URL shown by Vite.
The application may require the following variables:
| Variable | Purpose |
|---|---|
OPENAI_API_KEY |
Connects the application to the OpenAI API |
SECRET_KEY |
Flask/JWT security |
DATABASE_URL |
Database connection, if configured |
Never publish API keys or passwords in source code.
The frontend communicates with the Flask backend through HTTP APIs.
Example architecture:
User
β
βΌ
React Frontend
β
β HTTP / REST API
βΌ
Flask Backend
β
βββ Authentication
β
βββ Notes Management
β
βββ AI Service
β
βββ Database
β
βΌ
Stored Notes
User enters topic
β
βΌ
React Frontend
β
βΌ
Flask API
β
βΌ
AI Service
β
βΌ
AI-generated content
β
βΌ
Structured Study Notes
β
βΌ
React UI
Explain Machine Learning in detail.
Summary
Machine Learning is a branch of AI that enables computers
to learn patterns from data.
Important Points
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
Key Terms
- Dataset
- Model
- Training
- Prediction
Examples
- Spam detection
- Recommendation systems
- Image classification
- PDF upload and summarization
- AI-generated quizzes
- Flashcards
- Voice input
- Text-to-speech
- Note search
- Note categories
- Bookmarking
- Study progress tracking
- Personalized learning paths
- Dark mode
- Multi-language support
- Export notes to PDF
- Database integration
- User dashboard
For development:
- Keep API keys inside
.env. - Never expose secret keys in frontend code.
- Do not commit
.envto Git. - Use JWT securely for authentication.
- Validate user input on the backend.
Add .env to .gitignore:
.env
.venv/
__pycache__/
node_modules/Make sure you are inside the frontend directory:
cd frontend
npm install
npm run devInstall PyJWT:
python -m pip install PyJWTInstall OpenAI:
python -m pip install openaiRun the backend from the backend directory:
cd backend
python app.pyRun:
python -m pip install -r requirements.txtand allow the installation to finish.
This project is developed as an educational/project application.
er.chand rain
Built using React, Flask, Python and AI technologies.