refactoring-roadmap

module
v0.0.0-...-3ee563d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2022 License: MIT

README

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ı

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL