How osutitanic/stern works
Stern is Titanic!’s deprecated Flask frontend: visitors browse public game and community pages, while signed-in users manage accounts and participate in forums. The application registers route blueprints and establishes session and login handling; route handlers then serve domain-specific pages and actions. The tree also shows a wiki rendering subsystem and browser-side interactions. Sampled code supports specific account, forum, rankings, and wiki data flows, but many route implementations and shared Titanic! services were not included, so uncertain wiring is omitted.
Main entry points: app.py Flask application · __init__.py Route blueprints · register.py Registration · public Public routes
Components 19
Web application
- Flask application
app/app.py - Route blueprints
app/routes/__init__.py - Login and errors
app/handlers.py - Browser interactions
app/static/js/main.js
Accounts
- Account routes
app/routes/account - Registration
app/routes/account/register.py - Session accounts
app/accounts.py
Community
- Forum routes
app/routes/forum - Post actions
app/routes/forum/post.py - Player rankings
app/routes/public/rankings.py
Game content
- Public routes
app/routes/public - Wiki pages
app/routes/public/wiki.py - Wiki engine
app/wiki/engine.py - Markdown processing
app/wiki/processor.py
Other components
- Visitor
- Signed-in member
- Titanic! data services
- Wiki Markdown source
- reCAPTCHA
Connections 20
- Visitor → Flask application: requests pages
- Signed-in member → Flask application: requests actions
- Flask application → Route blueprints: registers
- Flask application → Login and errors: configures login
- Route blueprints → Account routes: registers
- Route blueprints → Forum routes: registers
- Route blueprints → Public routes: registers
- Account routes → Registration: includes
- Login and errors → Session accounts: validates sessions
- Session accounts → Titanic! data services: loads users
- Registration → Titanic! data services: creates account data
- Registration → reCAPTCHA: verifies response
- Forum routes → Post actions: includes
- Post actions → Titanic! data services: reads and writes posts
- Player rankings → Titanic! data services: loads ranking data
- Public routes → Player rankings: includes
- Public routes → Wiki pages: includes
- Wiki engine → Titanic! data services: reads and writes pages
- Wiki engine → Wiki Markdown source: fetches Markdown
- Browser interactions → Flask application: sends API requests