How samithanayak7/automated-lesson-plan-generator works
The product is a Streamlit lesson-planning app: faculty provide course details, a syllabus, matching textbook PDFs, and semester scheduling information; it extracts the syllabus structure, grounds topics in textbook pages, estimates difficulty and hours, allocates hours to targets, and presents and exports a class schedule. The pipeline and scheduling links are supported by the sampled source and README; some UI modules are represented by their paths and documented roles because their source was not sampled.
Main entry points: app.py Page flow · upload.py File upload · pipeline.py Pipeline coordinator · results.py Plan presentation
Components 21
Planning interface
- App entry
Main.py - Page flow
lesson_planner_ui/app.py - Session state
lesson_planner_ui/state.py
Course inputs
- Course details
lesson_planner_ui/course_info.py - Calendar setup
lesson_planner_ui/calendar_extract.py - Schedule settings
lesson_planner_ui/schedule_config.py - File upload
lesson_planner_ui/upload.py
Syllabus and grounding
- PDF syllabus extraction
Extracting/PD_Extractor.py - Text syllabus extraction
Extracting/Extractor.py - Pipeline coordinator
lesson_planner_ui/pipeline.py - Textbook retrieval
Extracting/TB_Extractor.py - Difficulty analysis
syllabus_processor.py
Hours and schedule
- Hour targets
lesson_planner_ui/configure.py - Result shaping
lesson_planner_ui/data_helpers.py - Class scheduling
lesson_planner_ui/schedule_builder.py
Results and export
- Plan presentation
lesson_planner_ui/results.py - PDF export
lesson_planner_ui/pdf_export.py
Other components
- Faculty
- Syllabus source
- Textbook PDFs
- Gemini API
Connections 31
- Faculty → App entry: opens app
- App entry → Page flow: starts
- Page flow → Course details: renders
- Page flow → Schedule settings: renders
- Page flow → File upload: renders
- Page flow → Hour targets: renders
- Page flow → Session state: manages
- Faculty → Syllabus source: provides
- Faculty → Textbook PDFs: provides
- Faculty → Calendar setup: provides
- Calendar setup → Schedule settings: derives dates
- File upload → PDF syllabus extraction: extracts PDF
- File upload → Text syllabus extraction: extracts text
- Syllabus source → File upload: submitted to
- Textbook PDFs → Pipeline coordinator: submitted to
- Page flow → Pipeline coordinator: runs
- Pipeline coordinator → Textbook retrieval: grounds topics
- Pipeline coordinator → Difficulty analysis: processes skeleton
- Textbook retrieval → Difficulty analysis: provides excerpts
- Textbook retrieval → Textbook PDFs: reads pages
- Difficulty analysis → Gemini API: requests analysis
- Gemini API → Difficulty analysis: returns estimates
- Faculty → Hour targets: sets targets
- Page flow → Result shaping: parses results
- Page flow → Class scheduling: requests schedule
- Schedule settings → Class scheduling: supplies calendar settings
- Hour targets → Class scheduling: supplies targets
- Class scheduling → Plan presentation: returns rows
- Page flow → Plan presentation: renders results
- Plan presentation → PDF export: builds PDF
- Plan presentation → Faculty: presents plan