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!

Architecture

No Services Diagrams Yet

Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.

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