How nikkita18/tvd-quiz-app works
Mystic Falls is a Flask-based Vampire Diaries fan experience centered on tiered trivia: visitors create and verify accounts, sign in, choose a difficulty, answer questions, and view scores and rankings. The app also provides lore pages, a character archive, player profiles, and an admin portal for managing questions and viewing hunters. The graph reflects documented UI capabilities as well as sampled route and operation code; unsampled templates and client behavior limit certainty about their internal wiring.
Main entry points: app.py Flask routes · user.py Player operations · myEmail.py Verification email · admin.py Admin operations
Components 19
Web experience
- Flask routes
app.py - Public pages
templates - Lore & characters
templates/about.html - Interactive UI
static/js/script.js - Gothic design
static/css/style.css
Player journeys
- Player pages
templates/userPlayQuiz.html - Signup & verify
templates/userSignup.html - Scores & leaderboard
templates/userScoreBoard.html - Player profile
templates/userProfile.html
Council portal
- Admin portal
templates/adminDash.html
Application services
- Player operations
user.py - Input validation
validation.py - Password hashing
encryption.py - Verification email
myEmail.py - Admin operations
admin.py
Persistent state
- MySQL data
db.py - Web session
app.py
Other components
- Visitor
- SMTP service
Connections 19
- Visitor → Flask routes: requests pages
- Flask routes → Public pages: renders pages
- Flask routes → Lore & characters: renders lore
- Flask routes → Interactive UI: serves scripts
- Flask routes → Gothic design: serves styles
- Flask routes → Signup & verify: renders signup
- Flask routes → Player pages: renders quiz
- Flask routes → Scores & leaderboard: renders scores
- Flask routes → Player profile: renders profile
- Flask routes → Admin portal: renders admin
- Flask routes → Input validation: validates input
- Flask routes → Password hashing: hashes passwords
- Flask routes → Verification email: sends verification
- Verification email → SMTP service: sends mail
- Flask routes → Player operations: handles player actions
- Flask routes → Admin operations: handles admin actions
- Flask routes → Web session: stores login & OTP
- Player operations → MySQL data: reads & writes
- Admin operations → MySQL data: reads & writes