learning-platform-pdf

byDhruv Parmar

I'm a Computer Engineering diploma student (Semester 3, GTU). I know basic Java, DBMS and HTML, and I'm a beginner in Python. I'm building a solo college project: "AI-Based Personalized Learning Platform". Core idea: students upload ANY PDF (notes, textbook chapter, etc.) and the app turns it into easy visual learning material. It is not limited to one subject. Tech stack: Python, Flask, SQLite, PyMuPDF, an LLM API (Gemini free tier; keep the API key in a .env file), HTML/CSS/JS, Mermaid.js, Chart.js, AOS animations. Windows + VS Code. Features: 1. Register/Login (password hashing, Flask sessions) 2. Upload PDF (validate type and size, save it per user) 3. Extract text page by page, plus embedded images, using PyMuPDF 4. Send the text in chunks to the LLM and get back structured JSON: - summary - key points (short bullets) - a Mermaid diagram (flowchart or mind map) of the concepts - chart data (if the PDF has numbers or comparisons) - 10 MCQs with topic tags and difficulty 5. Study page showing: - key points that animate in one by one (AOS or CSS) - the diagram rendered with Mermaid.js - a chart rendered with Chart.js - extracted PDF images in a gallery 6. Quiz page using the generated MCQs, saving every answer to attempts 7. Personalization: accuracy per topic, under 60% = weak, recommend re-reading the weak topic's section, and offer to generate easier questions for it 8. Dashboard: all uploaded documents, progress chart, weak topics, quiz history Database tables: users, documents (id, user_id, filename, upload_date), content (id, document_id, summary, points_json, diagram_code, chart_json), questions (id, document_id, topic, question, option_a-d, answer, difficulty), attempts (id, user_id, question_id, correct, date). Rules: - Build in stages and wait for me to say "next": Stage 1: folder structure + DB setup Stage 2: register/login Stage 3: PDF upload + text/image extraction Stage 4: LLM integration (prompt design, JSON parsing, error handling) Stage 5: study page (animated points, Mermaid, Chart.js, images) Stage 6: quiz + personalization Stage 7: dashboard + UI polish - Give complete, working code per file, with the file name above it. - Keep the code simple with comments so I can explain it in my viva. - Handle large PDFs by chunking, and handle bad LLM output safely. - Tell me how to run and test after each stage. Start with Stage 1.

No preview

Comments (0)

No comments yet. Be the first!

Project Tasks

17 planning tasks
Page design: Paused — add credits to continue
#1

Generate system requirement document

1m 10s0.2 cr used
Done
#2

Generate personas & user flows

0m 42s0.2 cr used
Done
#7

Create flow for Student Learner

0m 41sCredits in parent
Done
#8

Landing

0m 40sCredits in subtasks
Paused
#16

Landing / Hero Band

0.85 cr needed
Paused
#17

Landing / Pipeline Card

0.85 cr needed
Paused
#18

Landing / How It Works

0.85 cr needed
Paused
#19

Landing / Returning Student

0.85 cr needed
Paused
#9

Login

Credits in subtasks
Backlog
#10

Sign Up

Credits in subtasks
Backlog
#11

Dashboard

Credits in subtasks
Backlog
#12

Upload

Credits in subtasks
Backlog
#13

Study page

Credits in subtasks
Backlog
#14

Quiz page

Credits in subtasks
Backlog
#15

Personalization

Credits in subtasks
Backlog
#5

Architecture

0.2 cr needed
Paused
#6

Workspace task plan

0.2 cr needed
Paused

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View pipeline overview
Sign Up: Create account
Login: 1. Sign in
Login: 2. Retry after invalid credentials
Dashboard: View empty library
Dashboard: View populated library
Upload: 1. Select PDF file
Upload: 2. Validate type and size
Upload: 3. Handle validation failure
Upload: 4. Extract text and images
Upload: 5. Handle extraction failure
Upload: 6. Chunk and send to LLM
Upload: 7. Handle bad LLM output
Study page: 8. View summary panel
Study page: 9. View animated key points
Study page: 10. View Mermaid diagram
Study page: 11. View chart
Study page: 12. Browse image gallery
Quiz page: 13. Answer MCQ
Quiz page: 14. Handle submission failure
Personalization: 15. Review accuracy per topic
Personalization: 16. View weak topic recommendation
Personalization: 17. Accept easier questions offer
Study page: 18. Re-read recommended section
Dashboard: 19. View progress and history
Quiz page: 20. Attempt easier questions

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View pipeline overview
Sign Up: Create account
Login: 1. Sign in
Login: 2. Retry after invalid credentials
Dashboard: View empty library
Dashboard: View populated library
Upload: 1. Select PDF file
Upload: 2. Validate type and size
Upload: 3. Handle validation failure
Upload: 4. Extract text and images
Upload: 5. Handle extraction failure
Upload: 6. Chunk and send to LLM
Upload: 7. Handle bad LLM output
Study page: 8. View summary panel
Study page: 9. View animated key points
Study page: 10. View Mermaid diagram
Study page: 11. View chart
Study page: 12. Browse image gallery
Quiz page: 13. Answer MCQ
Quiz page: 14. Handle submission failure
Personalization: 15. Review accuracy per topic
Personalization: 16. View weak topic recommendation
Personalization: 17. Accept easier questions offer
Study page: 18. Re-read recommended section
Dashboard: 19. View progress and history
Quiz page: 20. Attempt easier questions