"Dear Diary, today a vampire asked me my name. I said Elena. Then he forced me to forget. Good thing I have this database..."
Welcome to Mystic Falls Diaries, a secure, lore-friendly Django web application where supernatural beings and vulnerable humans can record their daily struggles, dark secrets, and hunger cravings without the fear of Original Vampires compelling their minds.
- Supernatural Council Signup: Register your profile and choose your faction carefully. Power always comes with a price.
- Available Factions: Human, Vampire, Witch, Werewolf, Doppelgänger, and Hybrid.
- Cloaked Authentication: "Break the Seal" to unlock your diary or initiate your story through tailored, safe cryptographic portals.
- Vervain Mind Protection: A toggleable security feature. If enabled, your secrets are completely shielded from Damon or Klaus's compulsion. If unprotected, your mind remains vulnerable.
- Threat Level Assessment: Rate your day from
1(Human Calm) to5(Ripper on the Loose) to track the chaos level in town.
- Backend: Python 3.x & Django Web Framework
- Database: SQLite / PostgreSQL (Stores your secrets away from supernatural eyes)
- Frontend: Semantic HTML5, CSS3 (Custom gothic-themed UI utilizing
CinzelandIM Fell Englishtypography) - Security: Django Built-in Password Hashing & CSRF Protection tokens (The ultimate anti-magic barrier)
The project is split into two core grimoires (apps):
supernatural_users: Manages the ExtendedUserProfile(Factions, Locations, Bios) and the customized sign-up mechanism.entries: Handles the creation, encryption simulation (Vervain), and retrieval of daily diary logs.
To lift the cloaking spell and run this project on your local machine, follow these steps:
git clone [https://github.com/your-username/mystic-falls-diaries.git](https://github.com/your-username/mystic-falls-diaries.git)
cd mystic-falls-diariesCreate and activate a virtual environment:
python -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activateEnsure Django is installed:
pip install djangoGenerate and execute database migrations to prepare the journal indices:
python manage.py makemigrations
python manage.py migrateFire up the local development server:
python manage.py runserverNow open your browser and navigate to http://127.0.0.1:8000/diary/.