Post by Hadi Almubarak

Computer Science Student | Aspiring Software Engineer | Passionate about AI & Web Apps

Building an end-to-end airline booking system from scratch: Tackling live data and security without frameworks. Relying on frameworks makes development faster, but building a complex collaborative system using vanilla technologies is the ultimate test of software engineering fundamentals. In our recent project, SkyBound, my colleague Ibrahim Almansour and I co-engineered a full-stack airline ticket booking platform. The goal wasn't just to build a UI, but to design a complete end-to-end booking lifecycle—from real-time flight search to secure passenger management and intelligent cancellation. Key engineering challenges we tackled in this architecture: 🔹Real-Time API Integration: Integrated the Duffel API to handle live flight searches, dynamic pricing, and instant order creation. 🔹Historical Data Accuracy: Implemented an immutable "Snapshot" system that saves flight data as JSON at the exact time of booking, ensuring records remain 100% accurate even if the external API data changes later. 🔹Sensitive Data Security: Applied AES-256-CBC encryption to protect passenger passport data at rest, alongside comprehensive CSRF protection across all state-changing endpoints. 🔹Complex Business Logic: Programmed a tiered refund system that automatically calculates refund percentages based on the exact time remaining until departure. Tech Stack: - Frontend: Vanilla JavaScript, HTML5, CSS3 - Backend: Vanilla PHP (7.4+) - Database: MySQL (PDO) - External Integration: Duffel API v2 Building this without frameworks forced us to manually engineer code architecture, state management, and security protocols as a team. It deeply sharpened our understanding of how the web operates under the hood and how to effectively collaborate on a raw codebase. You can explore the source code here: https://lnkd.in/d27QyCjd #SoftwareEngineering #WebDevelopment #PHP #JavaScript #API #Teamwork #Backend

Post content

Video Content