Enhancing Learning with Fun, Interactive Journeys for Better Comprehension, Revision, and Evaluation.
- Code Labs: Codelabs Documentation
- Application: Front End
- Swagger: Swagger
- Airflow: Airflow
- Github Tasks: GitHub Issues and Tasks
- Sai Surya Madhav Rebbapragada
- Uday Kiran Dasari (Project Manager)
- Venkat Akash Varun Pemmaraju
- Upload/Select a PDF.
- Query and summarize the document.
- Generate audio podcasts for convenient learning.
- Create interactive flashcards for revision.
- Take quizzes to test understanding.
- Generate and share blogs summarizing key points.
- Automated script generation from PDFs.
- Dramatized and engaging podcasts for enhanced comprehension.
- AI-powered extraction of key concepts.
- Categorized by difficulty levels for personalized learning.
- Platform-specific article generation.
- Efficient citation and reference management.
- AI-driven question generation.
- Instant feedback with detailed explanations.
- PDF processing and storage.
- Multimodal content generation (audio, textual).
- Cloud-based architecture with user authentication.
- Students, educators, researchers, professionals, and content creators.
- Inefficient comprehension and retention of dense academic content.
- LearnLab resolves this with multimodal, engaging learning experiences.
- Reduced podcast generation time by ~50%.
- Robust quiz and flashcard generation.
- Time and resource optimization for content creation.
- Content Cleaning: Extract key text using LLMs.
- Transcript Creation: Generate coherent summaries.
- Dramatization: Enhance engagement with LLM dramatization.
- Audio Generation: Convert to audio using TTS tools.
- Extract key concepts from PDF.
- Organize into structured flashcards by difficulty.
- Create interactive MCQs using PDF context and LLMs.
- Summarize PDF insights into blogs.
- Share directly on Blogger or social media.
- Audio Podcasts: Learn on the go.
- Flashcards: Facilitate structured revision.
- Quizzes: Assess retention and comprehension.
- Blogs/Social Media: Share insights and collaborate.
flowchart TD
A[Start] --> B[Login Screen]
B --> C{Authentication}
C -->|Success| D[Dashboard]
C -->|Failure| B
D --> E{New or Existing Resource}
E -->|Upload New| F[Upload PDF Resource]
F --> G[Processing Document]
G --> H{Select Learning Mode}
E -->|Pick Existing| H
H -->|Option 1| I[Podcast Generation]
I --> I1[Generate Audio]
I1 --> I2[Listen & Learn]
I2 --> M[Learning Metrics]
H -->|Option 2| J[Flashcard Mode]
J --> J1[View Cards]
J1 --> J2[Practice Cards]
J2 --> M
H -->|Option 3| K[Quiz Mode]
K --> K1[Take Quiz]
K1 --> K2[Review Answers]
K2 --> M
M --> N{Continue Learning?}
N -->|Yes| H
N -->|No| O{Share Progress?}
O -->|Yes| P[Generate Content]
P --> P1[Blog Post]
P --> P2[Social Media Post]
O -->|No| Q[Exit]
P1 --> Q
P2 --> Q
- Python 3.9+
- Node.js 16+
- Docker
- GCP Account
- AWS Account
- Setup Environment:
# Clone repository
git clone https://github.com/DAMG7245-Big-Data-Sys-SEC-02-Fall24/LearnLab
cd LearnLab
# Initialize environments and configurations
# Add all relavent .env files
- Start Services:
# Start all services
docker-compose up -d
# Or start specific services
docker-compose up -d frontend backend
Service | Port | URL |
---|---|---|
Frontend | 3000 | http://localhost:3000 |
Backend | 8000 | http://localhost:8000 |
Airflow | 8080 | http://localhost:8080 |
Database | 5432 | postgres://localhost:5432 |
# Build specific service
docker-compose build <service-name>
# View logs
docker-compose logs -f <service-name>
# Restart service
docker-compose restart <service-name>
# Access PostgreSQL CLI
docker-compose exec db psql -U postgres
# Backup database
docker-compose exec db pg_dump -U postgres learnlab > backup.sql
# Stop all services
docker-compose down
# Remove volumes
docker-compose down -v
LearnLab/
βββ frontend/ # Next.js frontend
βββ backend/ # FastAPI backend
βββ airflow/ # Airflow DAGs
βββ docker/ # Docker configurations
βββ docker-compose.yml
Each service requires its own .env
file. Copy from .env.example
:
cd <service-directory>
cp .env.example .env
This project is licensed under the MIT License - see the LICENSE file for details.