Bu challengeda, Heroku'ya deployable olan basit bir Express uygulaması oluşturacaksınız.
Bu, package.json dosyasında uygun bir start betiğine sahip olduğu ve port numarasının sabit kodlanmak yerine ortamdan alındığı anlamına gelir.
Uygulamanızı Heroku'ya dağıtmaktan çekinmeyin, ancak bunun artık ücretsiz bir hizmet olmadığını unutmayın.
Forklayın, clone'layın ve bolca commitleyin.
-
Basit bir API oluşturun:
-
npx gitignore nodekomutuyla bir.gitignoredosyası oluşturun -
npm init --ykomutuyla birpackage.jsonoluşturun -
npx eslint --initkomutuyla bir Eslint oluşturun -
"start"ve"server"komut dosyaları eklemek içinpackage.jsondosyasını düzenleyin -
express,dotenv,corsyükleyin -
Bir
.envdosyası ve dotenv kitaplığı kullanarak ortam değişkenleri için destek ekleyin ve kodda geri dönüşler sağlayın -
API'yi detaylandırın:
Metod URL Açıklama GET /api/kullanıcılar Kullanıcılar dizisini döndüren. POST /api/kayıtol request bodyde { kullaniciadi, sifre } ile bir kullanıcı oluşturan , yeni oluşturulan kullanıcıyı döndüren.POST /api/giriş request bodydeki { kullaniciadi, sifre } yi kontrol edip , bir hoşgeldin mesajı döndüren .
-
-
İSTEĞE BAĞLI OLARAK uygulamanızı Heroku üzerinde konuşlandırın. Github'daki depoya giden bağlantı, teslim edilebilir gerçek gönderiminizdir..
- İstemcilerden gelen istekler için API'nin tamamen sabit kodlanmış yanıtlar vermesini sağlayabilirsiniz (veritabanı olmadan).
- Alternatif olarak, kullanıcıları kalıcı kılmak ve bir veritabanı gibi davranmak ve kullanıcılar dizisiyle etkileşime giren veritabanı yardımcıları oluşturmak için bir bellek içi dizi kullanabilirsiniz.
- Kullanıcıları bir dizi veritabanında ısrarla kullanıyorsanız, parolaları düz metin olarak saklamanın güvenlik açısından çok kötü bir uygulama olduğunu bilin.
- Dizi veritabanınızda parolaları olduğu gibi saklamaktan nasıl kaçınacağınızı araştırın. (md5, password hash)
- Yalnızca kayıtlı ve oturum açmış istemcilere "GET /api/kullanıcılar" erişiminin nasıl verileceğini araştırın.
- Proje içinde bir kayıt/oturum açma formu ve kullanıcıları görüntüleme araçları içeren bir ön uç(front-end) parçası oluşturun.