Skip to content
het12779-uiPublic

About

AI-powered educational workspace — PDF analysis, flashcards, quizzes & knowledge graphs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

React TypeScript FastAPI Tailwind CSS Python SQLite

License Status Version


✨ Overview

EduLens V2 transforms every PDF, video, and lecture into an intelligent, interactive learning workspace powered by AI. Built with a professional light theme inspired by Notion × Linear × Apple HIG, it offers a calm, focused study environment for students and researchers.

🎯 "Learn Smarter. Understand Faster."


📸 Screenshots

🏠 Homepage 📊 Dashboard
Homepage Dashboard
Landing page with seamless scroll Personalized study dashboard
📚 Library 🧠 Workspace
Library Workspace
Resource management with filters AI-powered PDF analysis & chat
🃏 Flashcards 📝 Quiz
Flashcards Quiz
Spaced repetition study mode Auto-generated assessments

🚀 Features

Core Platform

  • ⚡ AI-Powered Workspace — Upload any PDF and get instant summaries, outlines, flashcards, and quizzes
  • 🎨 Professional Light Theme — Clean, breathable UI with disciplined indigo accents
  • 📱 Fully Responsive — Seamless experience across desktop, tablet, and mobile

Learning Tools

  • 📄 PDF Intelligence — Extract text, generate summaries, and chat with your documents
  • 🎬 Video & Audio Support — Transcribe lectures with timeline navigation
  • 🃏 Smart Flashcards — AI-generated spaced repetition decks
  • 📝 Quiz Generator — Auto-create MCQs, true/false, and short answer questions
  • 🗺️ Knowledge Graph — Visualize concept relationships across your library
  • 📅 Study Calendar — Track streaks, goals, and revision schedules

User Experience

  • 🔐 Secure Authentication — Email/password login with bcrypt hashing + JWT sessions
  • 🔍 Global Search — cmd+k style command palette across all resources
  • 🔔 Smart Notifications — Mission-based gamification and progress tracking
  • 🌐 Google OAuth — One-click sign-in integration

🛠️ Tech Stack

Frontend

Technology Purpose
React UI Framework
TypeScript Type Safety
Vite Build Tool
Tailwind CSS Styling
shadcn/ui Component Library
Framer Motion Animations
Zustand State Management
TanStack Query Server State
Recharts Data Visualization

Backend

Technology Purpose
FastAPI API Framework
Python Language
SQLAlchemy ORM
SQLite Database
Ollama Local LLM
PyPDF PDF Processing

📦 Installation

Prerequisites

  • Node.js >= 18
  • Python >= 3.11
  • Ollama installed locally (Download)

1. Clone the Repository

git clone https://github.com/YOUR_USERNAME/edulens-v2.git
cd edulens-v2

2. Backend Setup

cd backend

# Create virtual environment
python -m venv venv

# Activate (Windows)
venv\Scripts\activate
# Activate (Mac/Linux)
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp .env.example .env
# Edit .env and add your SECRET_KEY

# Initialize database
alembic upgrade head

# Start server
uvicorn main:app --reload --port 8000

3. Frontend Setup

cd ../frontend

# Install dependencies
npm install

# Start development server
npm run dev

4. Start Ollama (Required for AI Features)

# In a separate terminal
ollama pull llama3
ollama serve

5. Access the App


🎯 Usage

Upload & Analyze

  1. Log in or register a new account
  2. Navigate to Library → Click Upload Resource
  3. Drop any PDF (or paste a YouTube URL)
  4. AI automatically generates:
    • 📋 Structured Summary
    • 📑 Document Outline
    • 🃏 Flashcard Deck
    • 📝 Practice Quiz

Study Mode

  1. Open any resource in the Workspace
  2. Use the AI Tutor tab to ask questions about the content
  3. Switch to Flashcards for spaced repetition review
  4. Take the Quiz to test your understanding

Track Progress

  • View study streaks, activity heatmaps, and topic mastery in the Progress page
  • Set daily goals and earn achievement badges

🏗️ Project Structure

edulens-v2/
├── 📁 backend/                 # FastAPI Application
│   ├── main.py                 # App entry point
│   ├── api/                    # API routes
│   │   └── v1/
│   │       ├── auth.py         # Authentication
│   │       ├── resources.py    # PDF & resource management
│   │       ├── upload.py       # File upload handlers
│   │       └── chat.py         # AI chat endpoints
│   ├── models/                 # SQLAlchemy models
│   ├── services/               # Business logic
│   │   ├── llm.py              # Local LLM (Ollama)
│   │   └── pdf_processor.py    # PDF text extraction
│   ├── core/                   # Config & security
│   └── alembic/                # Database migrations
│
├── 📁 frontend/                # React Application
│   ├── src/
│   │   ├── pages/              # Route pages
│   │   │   ├── HomePage.tsx
│   │   │   ├── Dashboard.tsx
│   │   │   ├── Library.tsx
│   │   │   ├── Workspace.tsx
│   │   │   └── ...
│   │   ├── components/         # Reusable components
│   │   ├── stores/             # Zustand state
│   │   ├── api/                # Axios client
│   │   └── data/               # Mock/demo data
│   └── public/                 # Static assets
│
├── 📁 screenshots/             # README images
├── docker-compose.yml          # Infrastructure
└── README.md                   # This file

🧪 Environment Variables

Create a .env file in the backend/ directory:

# Security
SECRET_KEY=your-super-secret-jwt-key-min-32-chars

# Database
DATABASE_URL=sqlite:///./edulens.db

# File Storage
UPLOAD_DIR=./uploads

# CORS
FRONTEND_URL=http://localhost:5173

💡 No API keys needed! EduLens V2 uses Ollama running locally for all AI features.


🗺️ Roadmap

  • Core PDF upload & text extraction
  • AI summary, outline, flashcards & quiz generation
  • Real-time AI chat with document context
  • User authentication (email + Google OAuth)
  • Responsive dashboard with calendar widget
  • Knowledge graph visualization
  • Collaborative study rooms
  • Mobile PWA support
  • Export to Anki / PDF
  • Advanced analytics & insights

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  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

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


🙏 Acknowledgments

  • Ollama for making local LLMs accessible
  • shadcn/ui for beautiful, accessible components
  • Lucide for the icon system
  • FastAPI for the blazing-fast backend framework

🌟 Star this repo if you found it helpful!


Made with ❤️ by the EduLens Team

About

AI-powered educational workspace — PDF analysis, flashcards, quizzes & knowledge graphs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages