Bu projede atomic commit yaklaşımı kullanılmaktadır. Atomic commit, her bir commit'in tek bir değişikliği temsil etmesini sağlayarak kodun daha düzenli, anlaşılır ve geri alınabilir olmasını hedefler. Daha fazla bilgi için: Atomic Commits Hakkında
Commit mesajları aşağıdaki yapıya uygun olarak yazılmıştır:
- feat: Yeni bir özellik eklendiğini belirtir.
- fix: Hata düzeltildiğini belirtir.
- chore: Fonksiyonellik içermeyen teknik güncellemeleri belirtir (ör. dokümantasyon, refaktör).
Bu format, commit geçmişinin anlaşılabilir ve izlenebilir olmasını sağlar.
Bu projede Feature-Base Data-Domain-Presentation yaklaşımı benimsenmiştir. Bu yaklaşım, her bir özelliği katmanlı bir yapı içerisinde modüler olarak düzenler.
Data-Domain-Presentation, projeyi üç ana katmana ayırarak kodun daha okunabilir, test edilebilir ve sürdürülebilir olmasını sağlar:
-
Data
- Veri kaynaklarına erişim (API çağrıları, veri tabanı işlemleri).
- Veri transfer objeleri (DTO) ve uzantıları içerir.
-
Domain
- İş mantığı ve uygulama kuralları burada yer alır.
- Use case'ler ve servisler tanımlanır.
-
Presentation
- Kullanıcı arayüzü (UI) bileşenleri ve kullanıcı etkileşimleri (State management).
- Görsel mantık burada yönetilir.