How nithinthirthegowda/ai--project-idea-generator works
This Flask application helps students generate tailored academic project ideas, view implementation blueprints, and save favorites. The main flow accepts a student’s domain, skills, and difficulty, records the generation request, ranks project records, and renders recommendations. Students can manage their saved library; administrators can maintain the project catalog and view usage statistics. The frontend is server-rendered templates with JavaScript enhancements, backed by SQLite. The README documents these capabilities; database and model excerpts are partial, so uncertain internal call wiring is omitted.
Main entry points: app.py Route controllers · models.py Model database access · main.js Browser interactions · generator.html Generator form
Components 17
Web interface
- Home page
templates/index.html - Generator form
templates/generator.html - Recommendations
templates/results.html - Saved library
templates/saved.html - Admin dashboard
templates/admin.html - Browser interactions
static/js/main.js
Flask application
- Route controllers
app.py
Project services
- Recommendation ranking
models.py - Saved project service
models.py - Catalog management
models.py - Usage statistics
models.py - Generation logging
models.py
SQLite storage
- Database setup
database.py - Model database access
models.py - Application database
Other components
- Student
- Administrator
Connections 25
- Student → Route controllers: submits requests
- Administrator → Route controllers: submits requests
- Route controllers → Home page: renders
- Route controllers → Generator form: renders
- Route controllers → Recommendations: renders
- Route controllers → Saved library: renders
- Route controllers → Admin dashboard: renders
- Generator form → Route controllers: submits form
- Recommendations → Browser interactions: enhanced by
- Saved library → Browser interactions: enhanced by
- Admin dashboard → Browser interactions: enhanced by
- Browser interactions → Route controllers: sends AJAX
- Route controllers → Database setup: initializes schema
- Route controllers → Recommendation ranking: requests matches
- Route controllers → Generation logging: records request
- Route controllers → Saved project service: manages bookmarks
- Route controllers → Catalog management: manages catalog
- Route controllers → Usage statistics: requests metrics
- Recommendation ranking → Model database access: queries projects
- Saved project service → Model database access: reads and writes
- Catalog management → Model database access: writes projects
- Usage statistics → Model database access: queries counts
- Generation logging → Model database access: writes log
- Database setup → Application database: creates and seeds
- Model database access → Application database: reads and writes