1.0.0 • Published 10 months ago

@bbeycanov/base-framework v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

M BASE FRAMEWORK

Bu modül, m-base@2.x için geliştirilmiştir ve framework içinde kullanılan ortak dosyaları bir araya toplar. Modül, CommonJS biçiminde yazılmıştır.

Paketin Geliştirilmesi

Paket yazılırken repository kurulduktan sonra paketin dizinin içinde

npm link

komutu çalıuştırılmalıdır.

sonrasında paketin kullanılıp test edileceği projenin dizinin içerisinde

npm link @themachinarium/m-base-framework

komutu çalıştırılmalıdır. (İkinci kısım paketin adıdır.)

Paketin Kurulması

# .npmrc
@themachinarium:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken={{YOUR_GITHUB_TOKEN}}
engine-strict=true

Yukarıdaki satırları .npmrc dosyasına yapıştırınız ve {{YOUR_GITHUB_TOKEN}} parametresini sadece read packages izni olan bir github tokeninizla değiştiriniz. Sonrasında npm i ile yüklenecektir.

Modülü projenize dahil etmek için aşağıdaki ifadesini kullanabilirsiniz:

Enviroment Değişkenleri

  1. Service Değişkenleri

    • LOG_SERVICE: Loglama işlemleri için servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • COUNTRY_SERVICE: Ülkeler için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • CURRENCY_SERVICE: Para birimleri için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • LANGUAGE_SERVICE: Diller için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • SETTING_SERVICE: Ayarlar için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • TRANSLATE_SERVICE: Çeviriler için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • CITY_SERVICE: Şehirler için isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • MEDIA_SERVICE: Medialar isteğin atılacağı servisin base URL'i; belirtilmemişse COMMON_SERVICE kullanılır.
    • COMMON_SERVICE: m-common-service'in base URL'idir.
  2. Veritabanı değişkenleri

    • DB_ENABLE: Veritabanı bağlantısının açılıp açılmayacağını kontrol eder.
    • DB_NAME: Veritabanın adı
    • DB_PORT: Veritabanın portu
    • DB_USER: veritabanı kullanıcısı
    • DB_PASS: Veritabanı kullanıcısının şifresi
    • DB_ADAPTER: Veritabanı adaptörü (MySQL, Postgresql)
    • DB_HOST: Veritabanı hostu
    • DB_READ_ENABLE: Read veritabanın aktif olup olmayacağını kontrol eder.
    • DB_READ_USER: Read veritabanı kullanıcısı
    • DB_READ_PASS: Read veritabanı kullanıcısının şifresi
    • DB_READ_HOST: Read veritabanı hostu
    • DB_READ_PORT: Read veritabanı portu
    • DB_ENCRYPT: Veritabını için encrpyt değeridir. Varsayılan olarak true değerini alır.
    • DB_TRUST_SERVER_CERTIFICATE: Veritabanı için sertifikalara güvenilip güvenilmeyeceğini belirler. Varsayılan değer true'dur.
    • DB_ENABLE_ARITH_ABORT: ?
  3. Redis Değişkenleri

    • REDIS_ENABLE: Redis bağlantısının kurulup kurulmayacağını kontrol eder.
    • REDIS_PORT: Redisin portu
    • REDIS_HOST: Redis hostu
    • REDIS_DATABASE: Redis database ayarı (0 ile 16 arasında)
    • CACHE_PREFIX: Tüm cachlerin sabit ön adıdır. Tıpkı Laraveldeki gibi
  4. RequestLogger Değişkenleri

    • REQUEST_LOG_ENABLED: Request Log'u açıp kapatmaya yarar. Middleware'e geçilen force parametresi ezer.
    • REQUEST_LOGGER_ERROR_LOG: Request log gönderilirken alınan hatanın loglanıp loglanmayacagını kontrol eder.
  5. Diğer Değişkenler

    • FALLBACK_LANGUAGE: Varsayılan dil bulunamadığında kullanılacak dildir. Tanımlı değilse tr varsayılır
    • TRANSLATE_ENABLE: Çevirinin yapılıp yapılmayacağını kontrol eder.
    • LOG_M_BASE_ERRORS: Alınan hata eğer AbstractError'den türetildiyse loglanıp loglanmayacağına karar verir
    • NODE_ENV: Uygulamanın environment seviyesidir. (local, test, production gibi)
    • FORCE_SUCCESS_OK: Uygulamandan her zaman http status code olarak 200 dönmesi gerektiğini belirtir.
    • FORCE_SUCCESS_OK: Uygulamandan her zaman http status code olarak 200 dönmesi gerektiğini belirtir.
    • MOCKS_ENABLE: Sistemin mockları yükleyip yüklemeyeceği bilgisini barındırır.
    • IMAGE_URL: Sistemin imajları depoladığın yerin base url'idir.

ChangeLog

v1.8.13

  • Package.json uuid updated

v1.8.12

  • Upload Helper bugfix

v1.8.11

  • DB Connection - DB Dialect Option Timeout Conf

v1.8.9

  • Filesystem and upload helper updates

v1.8.8

  • AsyncLocalStorageHelper bugfix

v1.8.7

  • Upload helper added

v1.8.6

  • DB SSL configuration

v1.7.8

  • Database replication and pool configuration

v1.7.8

  • Database replication

v1.7.7

  • Validation middleware'a customMessages alanı eklendi. İstenilen dile göre özel validation mesajları eklenebilir.

v1.7.6

  • translateMiddleware eklendi. İstenilen endpointten önce çağırılarak çıkıştaki stringlerin translate'den geçmesi engellenebilir.

v1.7.5

  • CORS özelliği eklendi

v1.7.4

  • Redis ttl bugfix

v1.7.3

  • Healthcheck servis eklendi

v1.7.2

  • Error code düzeltildi. Eğere hata kodu gelmediyse artık 500. Önceden 422 idi.

v1.7.1

  • v1.7.0 ile gelen Validator üzerindeki değişiklikler geri alındı.

v1.7.0

  • AppMonitoringFacade exported
  • logger, AppMonitoringFacade nesnesini kullanıyor
  • Yeni logger methodları eklendi.
  • @themachinarium/m-base-app-monitoring-package@1.0.1 updated
  • @themachinarium/m-axios-helper@1.1.2 updated

v1.6.7

  • FORCE_RETURN_NULL environment değişkeni eklendi. Eğere true yapılırsa null ve undefined data lar için response null dönecektir.
  • responses dizinin altındaki tüm sınıflar için testler yazıldı.
  • EnumHelper dosyası export edildi.

v1.6.5 - v1.6.6

  • AppMonitoring paketi eklendi. @themachinarium/m-base-app-monitoring-package@1.0.0

v1.6.4

  • Versiyon çıkarken github action'ın otomatik olarak tag yaratması eklendi.

v1.6.3

  • MsSql desteği eklendi
  • Sequelize.Model exported

v1.6.2

  • Currency get route fixed

v1.6.1

  • SettingService değişti. Artık onlyValue argümanı geçilmiyor.

v1.6.0

  • Bu versiyonda harici olarak m-axios-helper ve axios kurmaya gerek yoktur. m-axios-helper@1.1.0 kurulu olarak gelecek ve içerisindekiler framework'un index'in de export edilmektedir. Aynı şekilde axios da export edilmektedir.
  • enum.helper içindeki allValues, all yapıldı.
  • Test için coverage limiti %22 belirlenmiştir lütfen düşürmeyiniz ve arttırınız.