Traffic Rule System - Final Defense Guide

Academic Project Presentation & Viva Voce Script

Academic Year: 2026
Degree: BIM (Bachelor of Information Management)
Project Title: Traffic Rule Awareness & Violation Management
Stack: React 18, Node.js, Express, MySQL
Slide-by-Slide Presentation Guide
Slide 01

Title Slide & Project Identification

Presenter Script: "Respected Supervisor and Honorable Evaluators, Good day. Today, I present our final year project titled 'Traffic Rule Awareness and Violation Management System'. This project bridges citizen road safety education with digital administrative oversight."
Slide 02

Problem Statement & Motivation

Presenter Script: "In expanding urban centers, traffic safety information is difficult to access. Citizens do not know updated fine rates, and reporting infractions requires visiting a police station. Our system solves both problems on a single digital portal."
Slide 03

Project Objectives & Scope

Presenter Script: "Our system has four main objectives: First, establish a searchable digital rulebook. Second, provide an interactive quiz engine. Third, enable authenticated citizen reporting. And fourth, equip traffic officers with a control panel to review and resolve reports."
Slide 04

System Architecture & Data Flow

Presenter Script: "The application uses a decoupled client-server architecture. The React SPA communicates with our Express backend via REST APIs protected by JWT tokens. We engineered a Dual-Mode database engine that connects to MySQL, but automatically falls back to an in-memory store if MySQL is offline."
Slide 05

Entity-Relationship (ER) Schema

Presenter Script: "Our database schema is normalized to 3rd Normal Form. The `Users` table supports role-based permissions, while `Violation_Reports` maintains foreign key integrity with user profiles."
Slide 06

Citizen Education & Driver Testing Module

Presenter Script: "For driver education, citizens can search rules by keywords like 'Helmet' or 'DUI'. The quiz engine grades submissions instantly and provides safety explanations."
Slide 07

Violation Reporting & Officer Panel

Presenter Script: "When a citizen submits a report, it is saved with a 'Pending' status. Officers log into the Admin Dashboard (`admin@traffic.gov.np`) to review reports and update status to 'Resolved'."
Slide 08

Technical Stack & Innovations

Presenter Script: "We selected React 18 for component reusability and fast rendering. Node.js handles async API traffic, while Bcrypt and JWT secure authentication headers."
Slide 09

Testing & Verification Matrix

Test ID Module Expected Result Status
TC-01AuthJWT token returned; role badge shownPASSED
TC-02SearchFilters rules matching keyword "Helmet"PASSED
TC-03QuizInstant score percentage calculationPASSED
TC-04ReportReport stored with 'Pending' statusPASSED
TC-05AdminOfficer transitions status to 'Resolved'PASSED
TC-06DB ResilienceAuto-fallback to memory DB if MySQL offlinePASSED
Presenter Script: "All six core test cases passed successfully. Notably, Test Case 06 verified database failover resilience: if MySQL is offline, the backend seamlessly switches to our memory store."
Slide 10

Future Scope & Recommendations

Presenter Script: "We recommend three future enhancements: AI license plate recognition, GPS infraction heatmaps, and digital wallet integration for online fine payments."
Slides 11 & 12

Conclusion & Q&A

Presenter Script: "In conclusion, our Traffic Rule System successfully bridges road safety education with administrative oversight. Thank you for your time. We welcome any questions from the panel."
Evaluator Defense Viva Q&A Guide
Q1: Why choose React SPA over traditional HTML/PHP?
React provides a Single Page Application (SPA) architecture, enabling instant client-side rendering without full page reloads. Reusable components maintain clean modular code, while the Virtual DOM ensures fast UI responsiveness.
Q2: How does authentication and authorization work?
Authentication uses JSON Web Tokens (JWT) and Bcrypt password hashing. Passwords are verified against salted hashes. Upon successful login, the server issues a signed JWT containing user ID and role (`citizen` or `admin`), which is passed in HTTP Authorization headers.
Q3: What is the Dual-Mode Database Engine?
The Dual-Mode engine ensures zero downtime. It connects to MySQL by default, but if MySQL is offline or unavailable during server initialization, it automatically switches to an in-memory transactional store seeded from `seedData.js`.
Q4: How is data integrity maintained in violation reports?
Foreign key constraints in MySQL (`Violation_Reports.user_id REFERENCES Users.id`) maintain relational integrity. The backend extracts `user_id` directly from the verified JWT token, preventing identity tampering.
Q5: How do you protect the Admin Dashboard from unauthorized access?
Access control operates at both frontend and backend levels. On the frontend, route guards check user roles. On the backend, administrative endpoints check that decoded JWT tokens have `role === 'admin'`, rejecting unauthorized requests with HTTP `403 Forbidden`.
Q6: How would you scale this system nationwide?
Because the Node/Express backend is stateless, API instances can be horizontally scaled behind an NGINX load balancer. Database performance can be scaled using MySQL read-replicas, database indexing, and Redis caching for rules and signs.