# Amorphie Modules
* Sadece Ocelot replace için gereken geliştirmeler *mavi border* ile işaretlenmiştir.
```plantuml
@startmindmap
<style>
mindmapDiagram {
.JustGateway {
LineColor blue
LineThickness 4.0
}
}
</style>
'Public endpoints
*:<b>Anonim Arabirimler
Kullanıcı arabirimleri ve
güvenlik entegrasyon servisleri;
**[#Turquoise]:<b>Authorize UI</b>
[Blazor Web]
<b>amorphie.authorize
Kullanıcı doğrulama için web arabirim uygulamalaması;
**[#SkyBlue]:<b>Token Service</b>
[API]
<b>amorphie.token
Token alma, yenileme, değiştirme(exchange) hizmeti;
**[#SandyBrown]:<b>Register & Support UI</b>
[Flutter]
<b>amorphie.account
Kullanıcı kayıt ve destek akışlar için arabirim;
**[#SandyBrown]:<b>Backoffice UI</b>
[Flutter]
<b>amorphie.backoffice
Kullanıcı yönetimi için arabirim;
'Flows
*[#plum]:<b>Flows
[API, Fact]
<b>amorphie.flows
Kullanıcı doğrulama, kayıt
ve destek süreç akışlarının tanımlarıdır;
**[#HoneyDew]:<b>Login
[Zeebe]
<b>amorphie.flows.workers.login
Kullanıcı doğrulama akış workerları;
**[#HoneyDew]:<b>Register
[Zeebe]
<b>amorphie.flows.workers.register
Kullanıcı kayıt akış workerları;
**[#HoneyDew]:<b>Reset & Claim Password
[Zeebe]
<b>amorphie.flows.workers.reset
Kullanıcı şifre yenileme akış workerları;
** Activate Customer...
** Unblock OTP Blacklist...
'Resources
*[#plum]:<b>Resources
[API, Fact]
<b>amorphie.resources
Sunulan tüm servis kayıtlarını içerir;<<JustGateway>>
**[#plum]:<b>Resource Group
[API, Fact]
<b>amorphie.resources.group
Servis kayıtlarını gruplamak
için role, role group gibi
tanımlar;
**[#SkyBlue]:<b>Rate Limiter
[API]
<b>amorphie.resources.rl
Servis çağrısı için
çağrı sayısı limitleyici;<<JustGateway>>
***[#LightCoral]:<b>Rate Limiter Plugin
[Apisix Plug-in]
<b>amorphie.resources.rl.apisix;<<JustGateway>>
**[#LightCoral]:<b>Token Extractor
[Apisix Plug-in]
<b>amorphie.resources.te.apisix
Token bilgilerini çözerek
bilgileri header içine ekler;<<JustGateway>>
**[#plum]:<b>Privileges
[API, Fact]
<b>...resources.privileges
Servis erişiminde parametre
tabanlı yetkilendirme tanımları;<<JustGateway>>
***[#LightCoral]:<b>Privileges Plugin
[Apisix Plug-in]
<b>...privileges.apisix
Kontrol sırasında servis
yetkisi ve parametrik
erişimleri kontrol edilir.;<<JustGateway>>
'Transactions
*[#plum]:<b>Transactions
[API, Fact]
<b>amorphie.transactions
PSD2 yönergesine uygun transaction
yönetimi yönetimi.
Dynamic signing, Maker/Cheker,
Fraud entegrasyonu IVN araması gibi
fonsiyonları içerebilir;<<JustGateway>>
**[#HoneyDew]:<b>Transction Flow
[Zeebe]
<b>amorphie.transaction.workers
Varsayılan transaction akış için workerlar;<<JustGateway>>
**[#LightCoral]:<b>Transactions Plugin
[Apisix Plug-in]
<b>amorphie.resources.transactions.apisix;<<JustGateway>>
'Security
'Diğer Fact
*:<b>Diğer Fact Modülleri
Temel bilgilerin tutulduğu
süreçlere bilgi sağlayan
tanım modülleri.;
**[#plum]:<b>User
[API, Fact]
<b>amorphie.user
Kullanıcı bilgilerini tutar;
**[#plum]:<b>Client
[API, Fact]
<b>amorphie.client
Sunulan kaynakları tüketebilen uygulama listesini içeririr
Uygulamaların sunduğu header eşleştirmeleri ve
uygulamalara sunulacak claim içerikleri burada tanımlanır;
**[#plum]:<b>Scope
[API, Fact]
<b>amorphie.scope
Bir kullanıcının talep edebileceği erişim kapsam kayıtlarıdır
Kullanıcı kendi hesapları için, şirketi için, kurum çalışanı olarak iş yapabilir
Bunların her biri ayrı scope olarak değerlendirilir;
**[#plum]:<b>Consent
[API, Fact]
<b>amorphie.consent
Kullanıcının yetkisini kullanmak için veridiği rıza kayıtlarıdır
Ayrıca rızaya istinaden verilen tüm token kayıtları ve geçmişi tutulur;
'Support modules
*:<b>Destek Modülleri
Çözüm içerisinde kullanılan
fakat yetkinliği çözüm dışında da
kullanılabilecek modüller;
**[#lightgreen]:<b><&check>Tag
<b>[API, Fact]
amorphie.tag
Domian ve entity tanımlarını tutar.
Entiylere bilgi zenginleştirmesi için tag ve data desteği sağlar
Entitilerin ihityaç duyacağı veriler için direkt method sağlar;
**[#lightgreen]:<b>Workflow
<b>[API, Fact]
amorphie.worklfow
Entity kayıtları için iş akış desteği sunar;
@endmindmap
```