Birbirleri ile haberleşen minimum iki microservice'in olduğu bir yapı tasarlayarak, basit bir telefon rehberi uygulaması oluşturulması sağlanacaktır.
- Rehberde kişi oluşturma
- Rehberde kişi kaldırma
- Rehberdeki kişiye iletişim bilgisi ekleme
- Rehberdeki kişiden iletişim bilgisi kaldırma
- Rehberdeki kişilerin listelenmesi
- Rehberdeki bir kişiyle ilgili iletişim bilgilerinin de yer aldığı detay bilgilerin getirilmesi
- Rehberdeki kişilerin bulundukları konuma göre istatistiklerini çıkartan bir rapor talebi
- Rehberdeki kişilerin bulundukları konuma göre istatistiklerini çıkartan bir rapor talebi
- Sistemin oluşturduğu raporların listelenmesi
- Sistemin oluşturduğu bir raporun detay bilgilerinin getirilmesi
Kişiler: Sistemde teorik anlamda sınırsız sayıda kişi kaydı yapılabilecektir. Her kişiye bağlı iletişim bilgileri de yine sınırsız bir biçimde eklenebilmelidir.
- UUID
- Ad
- Soyad
- Firma
- İletişim Bilgisi
- Bilgi Tipi: Telefon Numarası, E-mail Adresi, Konum
- Bilgi İçeriği
Rapor: Rapor talepleri asenkron çalışacaktır. Kullanıcı bir rapor talep ettiğinde, sistem arkaplanda bu çalışmayı darboğaz yaratmadan sıralı bir biçimde ele alacak; rapor tamamlandığında ise kullanıcının "raporların listelendiği" endpoint üzerinden raporun durumunu "tamamlandı" olarak gözlemleyebilmesi gerekmektedir.
- Konum Bilgisi
- O konumda yer alan rehbere kayıtlı kişi sayısı
- O konumda yer alan rehbere kayıtlı telefon numarası sayısı
- UUID
- Raporun Talep Edildiği Tarih
- Rapor Durumu (Hazırlanıyor, Tamamlandı)
POST http://localhost:5164/contacts/CreateContact
Body | Tip | Açıklama |
---|---|---|
contactName |
string |
Gerekli. contactCompany. |
contactLastName |
string |
Gerekli. contactLastName. |
contactCompany |
string |
Gerekli. contactCompany. |
DELETE http://localhost:5164/contacts/DeleteContacts/{contactId}
Body | Tip | Açıklama |
---|---|---|
contactId |
string |
Gerekli. contactId. |
GET http://localhost:5164/contacts/GetContactById/{contactId}
Body | Tip | Açıklama |
---|---|---|
contactId |
string |
Gerekli. contactId. |
GET http://localhost:5164/contacts/GetAllContactList
POST http://localhost:5164/contactDetails/CreateContactDetails
Body | Tip | Açıklama |
---|---|---|
contactId |
string |
Gerekli. contactId. |
contactInfoType |
int |
Gerekli, Default=0. contactInfoType. |
value |
string |
Gerekli. value. |
GET http://localhost:5164/contactDetails/GetAllContactDetailsList
DELETE http://localhost:5164/contactDetails/DeleteContactDetails/{contactId}
Body | Tip | Açıklama |
---|---|---|
contactId |
string |
Gerekli. contactId. |
GET http://localhost:5164/contactDetails/GetContactDetailsById/{contactId}
Body | Tip | Açıklama |
---|---|---|
contactId |
string |
Gerekli. contactId. |
GET http://localhost:5164/Reports/GetAllReports
GET http://localhost:5164/Reports/GetReportById/{id}
Body | Tip | Açıklama |
---|---|---|
id |
string |
Gerekli. id. |
POST http://localhost:5164/Reports/CreateReport
.Net Core 6 MongoDB RabbitMQ Other : Healthcheck, api versioning
- Healthcheck durumu görmek için ;
Contact Healthcheck : http://localhost:5067/contact-service-health
Report Healthcheck : http://localhost:5064/report-service-health