aok®kişisel portfolyoPORTFOLYO — 2026
GitHub ↗LinkedIn ↗
← Tüm projeler
DOSYA / 02.1PROJE

Flight Management System

Uçuş operasyonları ve referans veriler için web uygulaması.

Proje hakkında

Flight Management System; havayolu, havalimanı, uçak ve rota kayıtlarıyla birlikte uçuş operasyonlarının yönetildiği bir web uygulamasıdır. Kullanıcılar uçuş oluşturabilir, kayıtları güncelleyebilir, uçuş durumlarını takip edebilir ve tamamlanan ya da iptal edilen uçuşları arşivden inceleyebilir. Ekranlara ve işlemlere erişim kullanıcı rolüne göre belirlenir.

Backend, Java ve Spring Boot ile geliştirilen üç servisten oluşur. Reference Manager operasyonun referans kayıtlarını, Flight Service kullanıcıları ve aktif uçuşları, Archive Service ise tamamlanan uçuşları yönetir. Servislerin ayrı veritabanları vardır. Doğrudan doğrulamalar REST çağrılarıyla, değişiklik bildirimleri Kafka üzerinden yürütülür.

Vue arayüzü Nginx üzerinden sunulur ve backend servislerine aynı proxy üzerinden erişir. Flight Service uçuş değişikliklerini WebSocket ile arayüze aktarır. Uçuş geçmişi, işlem kayıtları ve izleme bileşenleri sistemin çalışmasını takip etmek için kullanılır.

FMS — servisler ve iletişim
Şema yatay kaydırılabilir
JAVA / SPRING BOOT SERVİSLERİ VE KENDİ VERİTABANLARI HTTP / REST WebSocket REST REST REST Referans doğrulama JDBC JDBC JDBC reference.events flight.events Referans olayları Uçuş olayları Vue 3 / tarayıcı Operasyon ve yönetim ekranları Nginx Arayüz sunumu ve API proxy Reference Manager Havayolu · havalimanı · uçak Rota ve referans kayıtları Flight Service Kullanıcı · yetki · aktif uçuş Durum ve versiyon yönetimi Archive Service ARRIVED / CANCELLED Tamamlanan uçuş arşivi MySQL Referans veritabanı + outbox MySQL Uçuş veritabanı + outbox PostgreSQL Arşiv veritabanı Kafka reference.events / flight.events Üretici ve tüketici servisler Redis — üç servisin ortak kullanımı Referans önbelleği ve token iptal kayıtları Gözlemlenebilirlik — üç servis Prometheus · OpenTelemetry / Tempo · Grafana
İstek / doğrudan çağrıOlay / arka plan akışıBileşen sınırı

Her servis kendi veritabanına erişir. Reference Manager ve Flight Service olayları outbox üzerinden Kafka’ya gönderir; Flight Service referans olaylarını, Archive Service uçuş olaylarını tüketir. WebSocket bağlantısı da Nginx proxy üzerinden geçer. Redis ve izleme bileşenleri ortak altyapıdır.

İŞLEYİŞ

Uygulama akışı

  1. Kullanıcı arayüzünden gelen istek Nginx tarafından ilgili Spring servisine yönlendirilir; kimlik ve işlem yetkisi backend’de kontrol edilir.
  2. Flight Service, referans bilgilerini ve uçak takvimini doğrular; uçuş değişikliği ile olay kaydını aynı transaction içinde saklar.
  3. Outbox yayıncısı olayı Kafka’ya iletir. Referans değişiklikleri uçuş servisine, tamamlanan veya iptal edilen uçuşlar arşiv servisine aktarılır. Arayüz ayrıca WebSocket üzerinden güncellenir.
MEVCUT KAPSAM

Özellikler ve teknolojiler

AlanMevcut kapsamTeknolojiler

01Operasyon

Uçuş ve referans kayıtları; CSV ile toplu aktarım, saat dilimi ve uçak takvim kontrolleri, otomatik durum geçişleri.

Java 17 · Spring Boot · Spring Data JPA · MySQL · PostgreSQL

02Güvenlik ve kayıtlar

JWT ve rol bazlı erişim, token iptali, uçuş versiyonları ve kullanıcı aktivite kayıtları.

Spring Security · Redis

03Servis iletişimi

Referans değişikliklerinin aktarımı ve uçuş arşivleme; transactional outbox, tekrar deneme ve idempotent işleme.

REST · Kafka

04Web arayüzü

Operasyon ve yönetim ekranları, uçuş değişikliklerinin canlı gösterimi ve ortak proxy üzerinden erişim.

Vue 3 · WebSocket / STOMP · Nginx

05Çalıştırma ve doğrulama

Container ortamı, otomatik build / test, API belgeleri, metrikler ve dağıtık izleme.

Docker Compose · GitHub Actions · Testcontainers · OpenAPI · Prometheus · Grafana · OpenTelemetry · Tempo

Kaynak kodu ve kurulum belgeleri.GitHub deposu ↗