İ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.
Rapor verileri saklanır.
Mevcut raporları listeler.
Rapor oluşturuldu mesajını dinler.
Rapor mesajlarını veritabanına kaydeder.
İletişim bilgisi ekle/güncelle/sil yapabilir.
Mevcut iletişim bilgileri listesini görebilir.
Rapor talebinde bulunabilir.
Kayıtlı raporları görebilir.
- 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
- .Net 5.0
- EntityFramework Core 5.0
- Swagger(OpenAPI v3 UI)
- RabbitMQ
- PostgreSQL 12.5