The JTIA Safety Management System (SMS) is a dedicated full-stack application for organizing aviation safety occurrence information. It provides a structured environment for recording reports, relating them to aviation-specific reference data, and reviewing patterns through operational dashboards and reports.
Unlike the airport's public website, this project is focused on a specialized internal workflow where the meaning, completeness, and traceability of recorded information matter.
Translating Safety Requirements into Software
Aviation occurrence records involve more than a simple title and description. The application's requirements call for structured fields that reflect the context of a reported event, including its classification, location, people involved, aircraft information where relevant, and environmental conditions.
The engineering challenge was to turn those domain requirements into understandable interfaces while keeping the information suitable for later review and reporting. Separating reference information from occurrence records helps maintain consistency across data entry and analysis.
The application uses specialized reporting forms rather than a generic support-ticket interface, reflecting the distinct information needed to document and review aviation safety occurrences.
Occurrence Recording & Management
The application contains dedicated workflows for occurrence reports and safety occurrence reports, with screens for creating, viewing, editing, and browsing records.
Its reporting forms cover multiple kinds of related information, including aircraft involvement, personnel, casualty summaries, and environmental details. The system also provides structured reference data for aircraft, people, organizations, departments, locations, and aviation-specific classification dimensions.
Those capabilities are supported by protected management interfaces, helping different authorized users work with the information appropriate to their responsibilities.
Dashboards, Reports & Auditability
The application includes an operational dashboard and today, historical, monthly, and yearly reporting views. Its analytics cover occurrence classifications and trends, with chart-based presentations and printable reports.
A dedicated audit-log area provides visibility into recorded system changes. User administration and role-aware application access are also part of the implemented software.
Together, these features support both day-to-day record management and a broader view of occurrence data over time. They are described here as software capabilities, not as a claim of regulatory certification or completed external safety accreditation.
Full-Stack Technology
The frontend uses React, Vite, and TypeScript, with Tailwind CSS, TanStack Query, and charting components supporting forms, data views, and reporting.
The backend is developed with NestJS and TypeScript. Persistence uses Microsoft SQL Server with TypeORM, alongside modular API services for occurrences, master data, users, reference dimensions, and audit logs.
This is a separate technology stack and product from the airport's Next.js public website and administration platform.
Application Delivery & Lessons
The repository includes Docker-based application packaging as well as installation and deployment tooling. These provide a foundation for distributing the system across its intended operating environment without tying the case study to sensitive deployment procedures.
Working on SMS demonstrates how full-stack engineering changes when the application serves a specialized operational domain. Form design, reference data, access control, and reporting become central concerns, and usability must be balanced with the need to capture meaningful information.
Project: Jalal Talabani International Airport — Safety Management System
Scope: Aviation Occurrence Management, Reporting & Full-Stack Development
Internal procedures, detailed record structures, access configuration, and proprietary implementation information remain private.