How gdonaj/scc works
SCC is a Flask-based speech-corpus collection portal. Contributors register and submit recordings with recording and speaker metadata; editors review and curate corpus records; transcribers download audio and upload transcript versions; administrators manage records and users. The application factory wires the web blueprints to SQLAlchemy models and login handling. The excerpts confirm account, transcription, and administrative behavior, but omit much of the upload and editing route logic, so uncertain internal links are not shown.
Main entry points: __init__.py Flask app factory · dbModels.py Corpus models · viewAccount.py Account routes · viewAdmin.py Admin routes
Components 13
Web application
- Application entry
main.py - Flask app factory
website/__init__.py - Web pages
website/templates
Accounts and access
- Account routes
website/viewAccount.py
Corpus workflow
- Contributor routes
website/viewUser.py - Admin routes
website/viewAdmin.py - Transcription routes
website/viewTranscriber.py
Persistence and utilities
- Corpus models
website/dbModels.py - SQL database
website/dbModels.py - Record formatting
website/utilFormat.py - Shared utilities
website/util.py
Other components
- Portal user
- SMTP mail service
Connections 17
- Portal user → Web pages: uses portal
- Application entry → Flask app factory: creates app
- Flask app factory → Account routes: registers blueprint
- Flask app factory → Contributor routes: registers blueprint
- Flask app factory → Admin routes: registers blueprint
- Flask app factory → Transcription routes: registers blueprint
- Flask app factory → SQL database: initializes
- Account routes → Corpus models: reads and writes
- Contributor routes → Corpus models: reads and writes
- Admin routes → Corpus models: reads and writes
- Transcription routes → Corpus models: reads and writes
- Admin routes → Record formatting: formats records
- Record formatting → Corpus models: reads records
- Shared utilities → Corpus models: updates totals
- Shared utilities → SMTP mail service: sends mail
- Account routes → Web pages: renders pages
- Transcription routes → Web pages: renders page