How otahina/powerpoint-generator-python-project works
PowerPoint Generator is a Flask web app that turns a user’s topic, slide count, and theme choice into a downloadable presentation. The main flow runs from the browser’s generator form through the Flask route, GPT content generation, response parsing, and PowerPoint assembly; optional Pexels image search supplies slide images. The app also supports account registration, login, profiles, and logout backed by SQLite. These links follow the sampled route and utility calls; broader UI and feature details are based on the README and tree.
Main entry points: flaskapp.py Flask routes · text_pp.py PowerPoint builder · main.js Browser form · models.py User model
Components 15
Web interface
- Browser form
myapp/static/JS/main.js - Page templates
myapp/templates - Flask routes
myapp/flaskapp.py
Accounts and data
- Account forms
myapp/forms.py - User model
myapp/models.py - Database extension
myapp/database.py - SQLite database
myapp/instance/site.db
Presentation generation
- GPT generation
myapp/utils/gpt_generate.py - Slide parser
myapp/utils/text_pp.py - PowerPoint builder
myapp/utils/text_pp.py - Presentation themes
myapp/static/presentations - Generated presentations
myapp/generated
External services
- OpenAI API
- Pexels image API
Other components
- Visitor
Connections 15
- Visitor → Browser form: uses
- Browser form → Flask routes: POSTs form
- Flask routes → Page templates: renders pages
- Flask routes → Account forms: validates accounts
- Flask routes → User model: queries and creates
- User model → Database extension: uses mapping
- Database extension → SQLite database: persists records
- Flask routes → GPT generation: requests slide ideas
- GPT generation → OpenAI API: requests completion
- Flask routes → Slide parser: parses response
- Flask routes → PowerPoint builder: builds presentation
- PowerPoint builder → Presentation themes: loads selected theme
- PowerPoint builder → Pexels image API: searches images
- PowerPoint builder → Generated presentations: saves presentation
- Visitor → Flask routes: requests download