Skip to content

golang-turkiye/refactoring-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Refactor Roadmap "TR"

NOTE: I will complete readme.md in English.

Örnek Proje İçeriği

Uygulama Özeti: URL Shorter

Uygulama Yapısı:

  • users

    • ID uint
    • Email string
    • Password string
  • links

    • ID uint
    • LongUrl string
    • ShortenURLPath string
    • CreatedAt time
    • IsDeleted boolean
    • OwnerID uint
  • user_shared_links

    • userID uint
    • linkID uint

##DB Diagram

Refactor Öncesi

Klasör Yapısı:

  • app: Uygulamanın çalıştığı klasör
  • config: Projenin ayarlarını kapsar.
  • controller: Yönlendirmelerin methodlarını barındırılır.
  • db: Veritabanı bağlantı kütüphanelerini barındırılır
  • model: Veritabanı şemalarını barındırılır.
  • schema: Response ve Request Body'ler barındırılır.
  • router: Yönlendirmeleri barındırır.

Refactor Sonrası

Klasör Yapısı:

  • cmd: ...
    • link: ...
    • user: ...
    • single: Tüm Handlerların tek noktadan derlenmesi içindir
  • internal: ...
    • core: ...
      • domain: ...
      • service: ...
      • handler: ...
      • usecase: ...
      • repository: ...
  • pkg: ...
    • database: ...
      • postgres: ...

Refactor Adımları

v1.0.0

  • Klasör Yapısının Kurgulanması
  • Mockery kütüphanesi eklenmesi
  • Logrus kütüphanesi eklenmesi
  • Repository Interfacelerinin oluşturulması
    • Mock Repository Oluşturulması
    • GormDB Repository Oluşturulması
  • Modellerin Domain katmanına taşınması
  • Usecaselerin Oluşturulması
  • Servislerin Oluşturulması
    • Mock Service oluşturulması
    • V1 Service oluşturulması
  • Handlerların Oluşturulması
    • apiV1 Handler oluşturulması
  • Testlerin Yazılması
    • Repository Testlerinin Yazılması
    • Service Testlerinin Yazılması
    • Handler Testlerinin Yazılması
  • Makefile eklenmesi
  • GoLint eklenmesi

v1.5.0

  • Dockerfile eklenmesi
  • Docker Compose eklenmesi
  • Swagger entegrasyonu

v2.0.0

  • Çoklu Handler çalıştırma mekaniğinin eklenmesi
  • Uygulamanın Serverless mimariye taşınması

About

Refactor adımlarını ve işleyişini anlattığımız projedir.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published