Bu proje, bir uçuş arama uygulamasının backend API'sini sağlamak için geliştirilmiştir.
Belirtilen ID'ye sahip uçuş detaylarını getirir.
Tüm uçuşları getirir.
Yeni bir uçuş oluşturur.
Varolan bir uçuşu günceller.
Belirtilen ID'ye sahip uçuşu siler.
Belirtilen kalkış yeri, varış yeri, kalkış tarihi ve dönüş tarihine uygun uçuşları listeleyen API endpoint'i. Tek yönlü uçuş için tek uçuş bilgisini, çift yönlü uçuş için iki uçuş bilgisini verir.
Belirtilen ID'ye sahip havaalanı detaylarını getirir.
Tüm havaalanlarını getirir.
Yeni bir havaalanı oluşturur.
Varolan bir havaalanını günceller.
Belirtilen ID'ye sahip havaalanını siler.
Anasayfa. Tüm kullanıcılara açıktır.
- Basic Authentication kullanılmıştır.
- Yetkilendirme yapıları Controller sınıflarına göre eklenmiştir. UcuslarAPIController ve HavaalanlariControllerAPI sınıflarına uygulanan authentication yapısı için username admin, password 1234 olarak belirlenmiştir.
- Diğer controller sınıfları ile arasındaki farkı görebilmek için /home’a herhangi bir authentication eklenmedi.
- Proje, Swagger ile API dokümantasyonu sağlamaktadır. API endpoint'leri ve kullanım detayları Swagger UI üzerinden incelenebilir.
- Tarih gönderilirken datetime tipinde gönderilmelidir.
- Veritabanı olarak MongoDB kullanılmıştır.
- Uçuşlar ve havaalanları verileri düzenli bir şekilde saklanmaktadır.
- Her gün mock bir API'a istek atarak uçuş bilgilerini alan ve veritabanına kaydeden bir scheduled job uygulanmıştır.
https://run.mocky.io/v3/1305924e-8c86-4759-acca-5620d6210252