Bu proje, Eterna tarafından belirlenen, gerçek hayatta kullanılabilecek akıllı rezervasyon ve zaman yönetim sistemi geliştirmek amacıyla Node.js ve Express.js yetkinliklerini ölçmek için hazırlanmıştır. Sistem, şirket kaynaklarının (toplantı odaları, çalışma masaları, cihazlar vb.) belirli bir tarih ve saat aralığında rezerve edilmesini ve çakışan rezervasyonların engellenmesini sağlar.
-Node.js ve Express.js kullanımı -RESTful API tasarımı -Veritabanı modelleme becerisi -Zaman ve Çakışma Yönetimi Algoritması -Authentication & Authorization (JWT) -Clean code ve proje mimarisi
-Node.js & Express.js: Sunucu tarafı uygulama çerçevesi. -MongoDB : MongoDB - Mongoose veritabanı için. -JWT Authentication: Kullanıcı oturum yönetimi için. -dotenv: Çevre değişkenlerini yönetmek için. -Postman: API testleri ve koleksiyonu için.
Projenin yerel makinenizde çalıştırılması için aşağıdaki adımları sırasıyla takip edin.
- Node.js (v18+) ve npm kurulu olmalıdır.
- MongoDB servisi yerel makinede veya bulutta erişilebilir olmalıdır.
Terminalde: git clone https://github.com/cagdaskemaloglu/bookingApp.git cd bookingApp
npm install
Projenin kök dizininde .env adında bir dosya oluşturun ve aşağıdaki gerekli değişkenleri kendi değerlerinizle doldurun:
PORT=3000
MONGO_URI = mongodb+srv://cagdaskml_db_user:z1tL3pkfgQvC5CyU@cluster0.r9nvaby.mongodb.net/
JWT_SECRET=cok_gizli_ve_uzun_bir_anahtar
Terminalde: npm start