Gülbağ Kuruyemiş'e Hoşgeldiniz. Projede Express.js ve frontend kısmı için template engine olarak ejs kullanıldı. Kendimi backend'de geliştirmek istediğim için gerçek bir frontend teknoloji kullanmadım. (ilk projem de baya eksikler var :D)
http://localhost:3000/ adresine gelelim.
Eğer Admin ise kullanıcı Türünü admin seçmeliyiz biliyorum bu şekilde olmaması lazım. Ama passport ile kimlik doğrulama da yapabileceğimi öğrendim bunu denemek istedim çünkü jwt ile yapmıştım. Bu şekilde yapmaktansa eğer giriş yapan kullanıcı admin ise admin sayfasına gidecek. Ama şuanlık passport ile auth işlemi yapıyorum. Zaten Admin olarak veritabanından işaretlenmeyen kullanıcı Admin'i seçse bile giremez.
Burda gerekli güncellemeleri yapabiliriz.
Burda hem fiyatı girebilir hem de gramajı girebiliriz. 2 şekilde de hesaplama yapacaktır.
Kırmızı Mercimeğe zam yapalım.
Burda görüldüğü gibi admin de var admin ilk olarak herkes gibi user olarak kaydediliyor (o sebeple şuan user tablosundan silmediğimiz için gözüküyor.) Sonrasında veritabanına erişimi olan kişi burda bu user'ın rolünü admin yapıyor. sonrasında bunu admin tablosuna taşıyor. Admin belirleme database de yapılıyor yani.
Projem Bu şekildeydi. Bütün controller kodunu App.js de yapmışım hiç etik değil clean code ve solid kızdı. Bu hatamı düzelteceğim. Kendimi Node.js ve Javascript'de geliştirmek için bu projeyi gerçekleştirmiştim. Kendi uğraşım ile yaptığım ilk projeydi Readme.md dosyasını 26.07.2024 tarihinde yazdım. Ama uygulamayı 2023 de oluşturmuştum. (Nest.js ile CMS projesi için gerçek bir backend uygulamasını monolit olarak gerçekleştirdim.(https://github.com/Mustafa-Cam/Nest.js-CMS-Api))). Bu projeyi daha ilerletmeyi düşünmüyorum. Çünkü artık projelerimde mikroservis mimarisi ile devam edeceğim. İyi çalışmalar dilerim. Herkese Mutlu hayatlar. Heroku artık ücretli Render.com'da da mysql için bir configirasyon gerekiyordu. clever-cloud.com ile Bu işlemi de gerçekleştirdim. Burda da passport için gerekli modül(import edilen kütüphane)'de hata aldım. Deploy etti ama login kısmında hata verdi(local'de sorun yok). Ama dediğim şekilde mysql de size yüklü ise env dosyasını oluşturup rahatlıkla uygulamayı çalıştırabilirsiniz. MongoDb'nin atlas'ını kullansaydım rahatlıkla deploy edecektim.