402c3ec6ede1500473c519bb23410c01451e6ab6
IELTS Mock Platform
Local setup
python -m venv venv
# Windows: venv\Scripts\activate
# macOS/Linux: source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py seed_practice_library
python manage.py createsuperuser
python manage.py runserver
Copy .env.example to .env before starting. Development defaults use SQLite and the console email backend.
Production foundation
- Set
DJANGO_DEBUG=Falseand provide a long, privateDJANGO_SECRET_KEY. - Set the public domain in
DJANGO_ALLOWED_HOSTSandDJANGO_CSRF_TRUSTED_ORIGINS. - Set
DATABASE_URLto the production PostgreSQL connection string. - Configure the
DJANGO_EMAIL_*variables for password resets and email verification. - Use persistent storage for uploaded media. WhiteNoise serves static assets only.
- Enable
DJANGO_TRUST_PROXY_HEADERS=Trueonly when the hosting proxy reliably setsX-Forwarded-Proto. - Start HSTS conservatively and increase it after HTTPS is confirmed across required subdomains.
Portable Docker deployment
- Copy
.env.exampleto.envand replace every production value, includingPOSTGRES_PASSWORD. - Run
docker compose up --build -d. - The web container applies migrations, collects static assets, and starts Gunicorn.
- Configure the load balancer or uptime monitor to check
/health/. - Back up both the
postgres_dataandmedia_datavolumes.
Automated verification
- CI performs migration checks, Django's deployment audit, static collection, and the full test suite.
- On Windows, run
powershell -ExecutionPolicy Bypass -File scripts/check_deployment.ps1before a release. - Release, monitoring, backup, and rollback procedures are in
DEPLOYMENT.md. - Shared-hosting instructions for Phusion Passenger are in
CPANEL_DEPLOYMENT.md.
Main routes
/- landing page/accounts/login/- login/accounts/dashboard/- student dashboard/accounts/settings/- student profile settings/exams/- mock-test catalogue/admin/- content administration
Languages
Python
48.4%
HTML
38.7%
CSS
7.5%
JavaScript
4.5%
PowerShell
0.6%
Other
0.3%