Bu proje deprem.io sitesinin backend implementasyonunu icerir.
Docker
.env dosyasını oluşturunuz içerisine .env-example da yazılanları koyunuz.
English:
Create .env file and copy content from .env-example
Yerel geliştirme için paketlerini kurun
English: Install packages for local development
npm run setup
Husky kurulumunu yapın
npm run prepare
Dockerfile build alınız
English: Build docker container with following command
docker build -t deprem-io-backend .
Container ı run ediniz
English: Run docker container with following command
docker run -p 8080:8080 -d deprem-io-backend
localhost:8080/ adresine gidebiliyorsanız proje ayakta demektir.
English: if you are able to load localhost:8080/ url, good job project is running up.
make up
Projede kod kalitesini iyileştirmek için husky paketi kullanılmaktadır. Husky, commit oluşturulmadan önce otomatik olarak format, lint scriptlerini çalıştıracaktır.
https://www.postman.com/minikdev/workspace/depremio
istenen yardımları listeler /yardim localhost:8080/yardim?page=1&limit=1
Json Yolla localhost:8080/yardim
{
"yardimTipi": "Gıda",
"adSoyad": "John Doe",
"telefon": "555-555-5555",
"yedekTelefonlar": ["555-555-5556", "555-555-5557"],
"email": "johndoe@example.com",
"adres": "123 Main St",
"adresTarifi": "2nd floor, apartment 4B",
"acilDurum": "normal",
"kisiSayisi": "3",
"yardimDurumu": "bekleniyor",
"fizikiDurum": "normal",
"googleMapLink": "https://maps.google.com/maps?q=123+Main+St",
"tweetLink": "https://twitter.com/johndoe/status/1234567890",
"fields-status": "test-status",
"fields-yenialan": "ekstrabilgi"
}
insanların sağladığı yardımları listeler
YardimTipi filtrelemesi:
Şehir filtrelemesi:
Json Yolla localhost:8080/yardimet
{
"yardimTipi": "Yolcu Taşıma",
"adSoyad": "Jane Doe",
"telefon": "+1 987 654 3210",
"sehir": "Istanbul",
"hedefSehir": "Ankara",
"aciklama": "Need transportation from Istanbul to Ankara.",
"fields-status": "test-status",
"fields-yenialan": "ekstrabilgi",
"yardimDurumu": "bekleniyor"
}
İstenen yardımların altındaki formlara eklenen yardımkaydi bildirimleri
{
"postId": "63e3940d3c12f65e945ff371",
"adSoyad": "Jane Doe",
"telefon": "555-555-5555",
"sonDurum": "yardim-bekleniyor",
"email": "jane.doe@example.com",
"aciklama": "Merhaba, ben Jane Doe. Bu posta yardım etmek istiyorum."
}
post olarak fields-{burası aalanı adı}: value şeklinde datayı gönderin onunları fields objesi altında birleştirip db ye kayddedecek
örneğin fiels-yardimalani: "ankara" şu şekilde döner
fields: {
yardimalani: "ankara"
}
Opsiyonel her türlü yardım isteme ve yardımEt kısmına eklenecek özellikler için fields alanını kullanın isteidğiniz gibi json objesi post edebilirsiniz
/cache/flushall
/cache/getstats
localhost:8080/iletisim
{
"adSoyad": "John Doe",
"email": "johndoe@example.com",
"telefon": "+1 123 456 7890",
"mesaj": "This is a test message."
}
istenen yardımların altında form var süreci takip etmek için yardimKaydi olarak ekleyebilirsiniz
{
"postId": "63e3940d3c12f65e945ff371",
"adSoyad": "Jane Doe",
"telefon": "555-555-5555",
"sonDurum": "yardim-bekleniyor",
"email": "jane.doe@example.com",
"aciklama": "Merhaba, ben Jane Doe. Bu posta yardım etmek istiyorum."
}
node scripts/exportYardimEtCsv.js
YardimEt datasını csv export ederAvoid running lifecycle scripts from packages
--ignore-scripts
to Dockerfile.run npx allow-scripts auto
to update the list after new packages with install scripts have been added.