Contact Case

Contact API

İletişim bilgileri saklanır.
Ekle/güncelle/sil ve listele işlemleri yapılır.
Rapor isteklerini dinler.
Rapor oluşturup "oluşturuldu" mesajı iletir.

Report API

Rapor verileri saklanır.
Mevcut raporları listeler.
Rapor oluşturuldu mesajını dinler.
Rapor mesajlarını veritabanına kaydeder.

Web Application

İletişim bilgisi ekle/güncelle/sil yapabilir.
Mevcut iletişim bilgileri listesini görebilir.
Rapor talebinde bulunabilir.
Kayıtlı raporları görebilir.

Projenin çalıştırılması hakkında

  • Apileri ve Web Projesini start ederk projeyi çalıştırabilirsiniz
  • Her API kendisi için ayrı veritabanına sahiptir.
  • Web application herhangi bir veritabanı ile haberleşmez. RabbitMQ gelen mesajları dinleyebilir veya API'lara http isteği yapabilir.
  • API'lar birbirlerinin veritabanlarına erişmezler. Arada iletişim gerekli olması durumunda RabbitMQ üzerinden mesajlarını iletirler.

** Projede loglama için Serilog kullandım fakat herhangi bir dağıtık yapıya bağlı değil. Sadece Development modunda Information seviyesinde console loglama yapıyor.

WebHost: https://localhost:5001
Contact API: https://localhost:5011
Report API: https://localhost:5021

Teknolojiler

  • .Net 5.0
  • EntityFramework Core 5.0
  • Swagger(OpenAPI v3 UI)
  • RabbitMQ
  • PostgreSQL 12.5