Skip to content

Latest commit

 

History

History
119 lines (91 loc) · 4.13 KB

File metadata and controls

119 lines (91 loc) · 4.13 KB

📘 System Operations Guide

This guide details the step-by-step process for setting up and operating the Off-Chain Verification & E-Voting System, assuming a fresh installation with no existing data.


🚀 1. Initial Setup (First Run)

Step 1.1: Create Super Admin

Since a fresh database has no users, you must create the first administrator account via the terminal.

  1. Open your terminal in the backend directory (.../evoting_backend).
  2. Run the following command:
    python manage.py createsuperuser
  3. Follow the prompts:
    • Email: admin@college.edu (or your preference)
    • Password: [Enter a secure password]
    • Bypass other fields (press Enter for defaults if allowed).

Step 1.2: Login as Admin

  1. Open the frontend: http://localhost:5173
  2. Navigate to Login.
  3. Select role Super Admin.
  4. Enter the credentials you just created.

🏢 2. Structural Setup (Admin Portal)

Before users can register, you must define the college structure.

Step 2.1: Create Departments

  1. Go to Department Management in the Admin Dashboard.
  2. Click "Add Department".
  3. Enter details (e.g., Name: "Computer Science", Code: "CS").
  4. Repeat for all college departments (EE, ME, Civil, etc.).

Step 2.2: Assign Heads of Department (HODs)

You have two ways to assign an HOD:

Option A: Invite a New User

  1. In Department Management, find the department.
  2. Click "Invite HOD".
  3. Enter the email of the faculty member you wish to appoint.
  4. The system sends an email (or generates a link in dev mode) for them to register directly as HOD.

Option B: Promote Existing Faculty

  1. Wait for a faculty member to register (see Section 3).
  2. Go to User Management.
  3. Find the faculty member.
  4. Edit their profile and change Role to HOD, assigning them to the relevant Department.

👥 3. User Onboarding

Step 3.1: Faculty Registration

  1. Faculty members go to /register/faculty.
  2. They fill out the form, uploading their ID proof.
  3. Status: Account is created but marked Pending.

Step 3.2: Faculty Approval

  1. HOD logs in -> Goes to Approvals.
  2. Views pending Faculty requests for their department.
  3. Verifies ID proof -> Clicks Approve.
  4. Note: Super Admin can also approve faculty if no HOD is assigned yet.

Step 3.3: Student Registration

  1. Students go to /register/student.
  2. They fill out personal details and upload College ID + Govt ID.
  3. Status: Account is created but marked Pending.

Step 3.4: Student Verification

  1. Faculty (Class Teacher) or HOD logs in.
  2. Goes to Approvals (or Class Management).
  3. Reviews Student data -> Clicks Verify.
  4. Student can now log in.

🗳️ 4. Managing Elections

Step 4.1: Creating an Election

  1. Super Admin goes to Election Management.
  2. Clicks "Create Election".
  3. Details: Title, Description, Date/Time.
  4. Scope:
    • Global: Leave "Departments" empty (e.g., Student Council).
    • Departmental: Select specific departments (e.g., CS Rep).

Step 4.2: Assigning Voters (Classes)

  1. HOD logs in -> Goes to Elections.
  2. Finds the active election.
  3. Clicks "Add Classes".
  4. Selects specific classes (e.g., "CS-3A", "CS-3B") allowed to vote.
  5. Security Check: HOD can only add classes from their own department.

Step 4.3: Conducting the Vote

  1. Students log in during the election window.
  2. They see eligible elections on their dashboard.
  3. Click "Vote Now".
  4. Vote is recorded on the Blockchain (simulated or testnet).

📊 5. Post-Election

Step 5.1: Results

  1. Once the election End Date passes, the status becomes Closed.
  2. Results are calculated automatically based on blockchain tallies.
  3. Admins/HODs can publish results to the students.

Step 5.2: Audit Logs

  1. Super Admin can view the Audit Log to trace critical actions:
    • Who approved a student?
    • Who edited a class?
    • User IP and timestamp for all sensitive mutations.