How pranay898/ai_automated_question_bulider- works
AI Question Builder is a Streamlit application for administrators, trainers, and employees. Users register or log in, then the app routes them to role-specific dashboards. Trainers upload curriculum and generate, edit, or download question banks; employees use learning materials, self-assessments, and submit requests or issues. Administrators manage users and review system activity and reports. Firebase/Firestore provides shared persistence, while Gemini powers question generation. Some dashboard features are only partially excerpted, so their internal steps are represented at subsystem level.
Main entry points: db.py Firestore collections · app.py Streamlit entry · trainer_dashboard.py Trainer dashboard · employee_dashboard.py Employee dashboard
Components 22
Application and access
- Streamlit entry
app.py - Authentication
auth.py
Question bank workflow
- Trainer dashboard
trainer_dashboard.py - Curriculum upload
trainer_dashboard.py - Question bank generation
ques_bank_gen.py - Question review
trainer_dashboard.py - Bank downloads
trainer_dashboard.py
Employee learning
- Employee dashboard
employee_dashboard.py - Self-assessment
employee_dashboard.py - Learning materials
employee_dashboard.py - Learning requests
employee_dashboard.py - Issue reporting
employee_dashboard.py - Certificate output
employee_dashboard.py
Administration
- Admin dashboard
admin_functions.py - User administration
admin_functions.py - Monitoring and reports
admin_functions.py - Feedback and issue review
admin_functions.py
Shared services
- Question generation
utils.py - Firestore collections
db.py
Other components
- User
- Gemini service
- Email service
Connections 33
- User → Streamlit entry: uses
- Streamlit entry → Authentication: authenticates
app.py - Streamlit entry → Admin dashboard: routes admin
app.py - Streamlit entry → Trainer dashboard: routes trainer
app.py - Streamlit entry → Employee dashboard: routes employee
app.py - Streamlit entry → Firestore collections: reads users
app.py - Authentication → Firestore collections: reads and writes
auth.py - Authentication → Email service: sends OTP
auth.py - Trainer dashboard → Curriculum upload: offers upload
trainer_dashboard.py - Trainer dashboard → Question bank generation: dispatches generation
trainer_dashboard.py - Trainer dashboard → Question review: provides editing
trainer_dashboard.py - Trainer dashboard → Bank downloads: provides downloads
trainer_dashboard.py - Curriculum upload → Firestore collections: stores curriculum
trainer_dashboard.py - Question bank generation → Firestore collections: reads and saves banks
ques_bank_gen.py - Question bank generation → Question generation: requests generation
ques_bank_gen.py - Question generation → Gemini service: invokes model
utils.py - Question review → Firestore collections: updates banks
trainer_dashboard.py - Bank downloads → Firestore collections: reads banks
trainer_dashboard.py - Employee dashboard → Self-assessment: offers assessment
employee_dashboard.py - Employee dashboard → Learning materials: offers materials
employee_dashboard.py - Employee dashboard → Learning requests: accepts requests
employee_dashboard.py - Employee dashboard → Issue reporting: accepts reports
employee_dashboard.py - Self-assessment → Firestore collections: reads question banks
employee_dashboard.py - Self-assessment → Certificate output: creates certificate
employee_dashboard.py - Learning materials → Firestore collections: reads question banks
employee_dashboard.py - Learning requests → Firestore collections: stores request
employee_dashboard.py - Issue reporting → Firestore collections: stores issue
employee_dashboard.py - Admin dashboard → User administration: provides user management
admin_functions.py - Admin dashboard → Monitoring and reports: provides reporting
admin_functions.py - Admin dashboard → Feedback and issue review: provides review
admin_functions.py - User administration → Firestore collections: updates users
admin_functions.py - Monitoring and reports → Firestore collections: queries metrics
admin_functions.py - Feedback and issue review → Firestore collections: queries records
admin_functions.py