Documentation

Installation Guide

Cybersecurity Awareness Training Platform with Phishing Simulator, Gamification and Compliance Reporting

Step-by-step Setup Verified Instructions Chat Support
Back to Project
Complete Guide

Installation Guide

Follow 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.

Prerequisites

Make sure the following software is installed on your system before proceeding.

  • Python 3.11 or higher
  • Redis Server (required for Celery task queue)
  • PostgreSQL (optional — SQLite works for local development)
  • Git
Step 1
Clone the Repository and Install Dependencies

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
Step 2
Configure Environment Variables

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
Step 3
Run Database Migrations

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 Email Password
Admin admin@cybersec.demo Admin1234!
Manager manager@cybersec.demo Manager1234!
Employee alice@cybersec.demo Employee1234!
Step 4
Start the Development Server

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
Step 5
Access the Platform

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.

Production Deployment

When you are ready to deploy this project to a live server, follow these steps in order:

  1. Set DEBUG=False in your .env file
  2. Set a strong, unique value for SECRET_KEY
  3. Configure your PostgreSQL DATABASE_URL
  4. Set ACCOUNT_EMAIL_VERIFICATION = "mandatory" in settings.py
  5. Configure real SMTP credentials for your email provider
  6. Collect all static files:
    python manage.py collectstatic
  7. Start the application with Gunicorn:
    gunicorn config.wsgi:application
  8. Set up Nginx as a reverse proxy pointing to the Gunicorn process
  9. Configure Celery worker and Celery Beat as background services using systemd or Supervisor

XP and Level Configuration

All 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

Demo Account Summary

Use these accounts after running python manage.py seed_data to test all role-specific features of the platform.

Role Email 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

Need Help?

Our team is here to assist you with installation and setup.

Chat with Us
Chat with us