Skip to content
This repository has been archived by the owner on Mar 5, 2021. It is now read-only.

eser/acikkaynak-api

Repository files navigation

derleme durumu bağımlılıklar kapsam durumu lisans

BENİ OKU

Bu kod tabanında, şu anda yapım aşamasında bulunan api.acik-kaynak.org'nun önizleme sürümü yer almaktadır.

master branch'ine aktarılan değişiklikler, bir dizi derleme işleminden sonra https://api.acik-kaynak.org/ adresinde belirecektir.

Katkı Sağlamak

Çalışma Ortamını Hazırlamak

node.js'in ve yarn'ın sisteminizde kurulu olduğundan emin olun.

Repository'i klonlayıp, npm üzerinden bağımlılıkları çekerek çalışma ortamınızı hazır hale getirin.

$ git clone https://github.com/acikkaynak/acikkaynak-api.git
$ cd acikkaynak-api
$ yarn install

.env.sample dosyasının bir kopyasını .env ismi ile oluşturun ve dosyada bulunan ayarları girin.

Çalışmaya Başlamak

yarn dev komutu ile geliştirme modunda kod tabanına müdahale etmeye başlayabilirsiniz. Komutu çalıştırdıktan bir süre sonra API'a ait endpoint'ler erişilebilir olacak, siz değişiklik yaptığınız sürece kod otomatik olarak güncellenecektir.

Çalışmayı Kontrol Etmek

yarn lint komutu ile yazılan kodun belirlenen eslint standartlarına uyup uymadığını kontrol edebilirsiniz. Eğer bu kontrolü yapmazsanız Pull Request oluşturduğunuzda GitHub tarafından bu kontroller otomatik işletilecek ve açmış olduğunuz Pull Request'i sizden güncellemenizi isteyecektir.

Bazı kod standartları otomatik olarak düzeltilebilmektedir, bunu sağlamak için yarn lint:fix komutunu kullanabilirsiniz.

Aynı zamanda yazmış olduğunuz birim testlerini yarn test komutu ile başlatabilirsiniz. Testler de aynı lint işlemi gibi hem pull request hem de push esnasında GitHub Actions tarafından CI/CD otomasyonuna bağlı olarak çalıştırılmaktadır.

API Fonksiyonlarını AWS'e Yükleme

  • Amazon Web Services'dan Access Keylerinizi temin edin ve aws-cli aracılığıyla AWS hesabınızı sisteminize tanıtın.
$ aws configure
AWS Access Key ID [None]: KEY
AWS Secret Access Key [None]: SECRET
Default region name [None]: eu-west-1
Default output format [None]: 
  • .env dosyasında uygulamanın bağlanacağı MongoDB connection string'i v.b. ayarları belirttiğinizden emin olun.

  • serverless.yml dosyası içerisine bir göz gezdirin.

  • Her şey hazır ise AWS üzerine yüklemenizi gerçekleştirebilirsiniz.

$ yarn deploy:prod

Dizin Yapısı

Klasör Açıklama
/src/ Kaynak dosyalarını içeren klasör
/src/actions/ API'lara ait fonksiyonları içeren klasör
/src/shared/ API fonksiyonlarının ortak kullandığı yapılar
/serverless.yml Serverless framework konfigurasyonu

Yapılacaklar

GitHub Projesi üzerinde detaylar yer almaktadır.

Gereksinimler

Lisans

Apache 2.0, daha fazla detay için lütfen LICENSE dosyasını inceleyin.

Katkı Sağlayanlar

contributors.md dosyasını inceleyebilirsiniz.

Herhangi bir katkıya açıktır. Hata düzenlemeleri, yeni özellik ve modüller ekleyebilirsiniz.

  • Koda katkı sağlamak için: Yukarıda anlatıldığı gibi repository'i klonlayın, değişikliklerinizi gerçekleştirin, ve bir pull request oluşturun.
  • Bir hata bildirmek için: Bir şeyler ters gidiyorsa, GitHub Issues üzerinden yeni bir issue oluşturup bize bildirin.