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.
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.
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.
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.
- 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
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 |
GitHub Projesi üzerinde detaylar yer almaktadır.
- node.js (https://nodejs.org/)
Apache 2.0, daha fazla detay için lütfen LICENSE dosyasını inceleyin.
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.