acikyazilimagi / deprem-io-backend

current back Deprem.io is a platform to help with the recent earthquakes in Turkiye
Apache License 2.0
73 stars 27 forks source link

deprem-io-backend

Bu proje deprem.io sitesinin backend implementasyonunu icerir.

Requirements

Local Installment

npm run prepare

Docker ile ayağa kaldırma

make up

Code Quality

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.

Postman Workspace

https://www.postman.com/minikdev/workspace/depremio

Yardımları listeleme (GET)

istenen yardımları listeler /yardim localhost:8080/yardim?page=1&limit=1

Yardımiste Ekleme (POST)

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"

}

YardımEt ekleme (GET)

insanların sağladığı yardımları listeler

YardimTipi filtrelemesi:

Şehir filtrelemesi:

YardımEt ekleme (POST)

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"
}

yardimet (POST)

İ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."
}

Fields alanını kullanımı

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"
}

Not

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 i temizleme

/cache/flushall

cache i görme

/cache/getstats

iletisim (POST)

localhost:8080/iletisim

{
    "adSoyad": "John Doe",
    "email": "johndoe@example.com",
    "telefon": "+1 123 456 7890",
    "mesaj": "This is a test message."
}

/ekleYardimKaydi (POST)

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."
}

TODO:

Endpoint Listsi

Scripts

Supply chain security

Avoid running lifecycle scripts from packages

run npx allow-scripts auto to update the list after new packages with install scripts have been added.