Cybersecurity Awareness Training Platform with Phishing Simulator, Gamification and Compliance Reporting
Back to ProjectFollow the steps below to set up CyberSec Guard on your local machine. You will need three terminal windows running simultaneously to operate the Django server, the Celery worker, and the Celery Beat scheduler.
Make sure the following software is installed on your system before proceeding.
Open your terminal and run the following commands one by one.
git clone <repo-url>
cd cybersecurity_platform
python -m venv venv
Activate the virtual environment:
On Linux or macOS:
source venv/bin/activate
On Windows:
venv\Scripts\activate
Install all required Python packages:
pip install -r requirements.txt
Copy the example environment file and open it in any text editor to fill in your configuration values.
cp .env.example .env
Edit the .env file and set the following values:
| Variable | Description | Example Value |
|---|---|---|
SECRET_KEY |
A long random secret key for Django | your-secret-key-here |
DEBUG |
Set True for development, False for production | True |
DATABASE_URL |
Leave empty for SQLite or set PostgreSQL URL | postgres://user:pass@localhost/dbname |
EMAIL_HOST |
Your SMTP mail server host | smtp.gmail.com |
EMAIL_HOST_USER |
Your email address | you@gmail.com |
EMAIL_HOST_PASSWORD |
Your email password or app password | your-app-password |
REDIS_URL |
Redis connection URL | redis://127.0.0.1:6379/0 |
Apply all database migrations to create the required tables:
python manage.py migrate
Load demo data including sample users, courses, quizzes, badges, and phishing templates:
python manage.py seed_data
This command creates the following demo accounts:
| Role | Password | |
|---|---|---|
| Admin | admin@cybersec.demo | Admin1234! |
| Manager | manager@cybersec.demo | Manager1234! |
| Employee | alice@cybersec.demo | Employee1234! |
You need to open three separate terminal windows and run one command in each. All three must be running at the same time.
Terminal 1 — Django Development Server:
python manage.py runserver
Terminal 2 — Celery Worker (handles phishing email dispatch and notifications):
celery -A config worker -l info
Terminal 3 — Celery Beat Scheduler (handles timed tasks and deadline reminders):
celery -A config beat -l info
Open your browser and navigate to the following URLs:
| Page | URL |
|---|---|
| Main Platform | http://localhost:8000 |
| Django Admin Panel | http://localhost:8000/admin/ |
Log in using the Admin demo account to access all modules including phishing campaign management, user management, compliance reports, and gamification settings.
When you are ready to deploy this project to a live server, follow these steps in order:
DEBUG=False in your .env fileSECRET_KEYDATABASE_URLACCOUNT_EMAIL_VERIFICATION = "mandatory" in settings.pypython manage.py collectstaticgunicorn config.wsgi:applicationAll XP reward values and level thresholds are fully configurable in settings.py. You can adjust these values to change how quickly users progress through levels.
| Setting | Default Value | Description |
|---|---|---|
XP_LESSON_COMPLETE |
10 | XP awarded for completing a lesson |
XP_QUIZ_PASS |
25 | XP awarded for passing a quiz |
XP_QUIZ_PERFECT |
50 | XP awarded for a perfect quiz score |
XP_PHISH_REPORT |
30 | XP awarded for correctly reporting a phishing email |
XP_COURSE_COMPLETE |
100 | XP awarded for completing a full course |
XP_DAILY_LOGIN |
5 | XP awarded for each daily login streak |
| Level | Title | XP Required |
|---|---|---|
| 1 | Beginner | 0 XP |
| 2 | Novice | 100 XP |
| 3 | Intermediate | 300 XP |
| 4 | Advanced | 600 XP |
| 5 | Expert | 1000 XP |
| 6 | Master | 2000 XP |
| 7 | Security Champion | 5000 XP |
Use these accounts after running python manage.py seed_data to test all role-specific features of the platform.
| Role | Password | Access Level | |
|---|---|---|---|
| Admin | admin@cybersec.demo | Admin1234! | Full access — manage users, campaigns, courses, quizzes, reports |
| Manager | manager@cybersec.demo | Manager1234! | View team compliance, send reminders, access department reports |
| Employee | alice@cybersec.demo | Employee1234! | Take courses and quizzes, earn XP and badges, view personal progress |
Our team is here to assist you with installation and setup.