Bu proje, kütüphane kullanıcılarının masa/yer rezervasyonu yapabilmesini sağlayan bir web tabanlı uygulamadır. Java Spring Boot framework’ü kullanılarak geliştirilmiştir.
Controller Katmanı (Presentation Layer)
Kullanıcıdan gelen HTTP isteklerini karşılar.
Örneğin, rezervasyon oluşturma, listeleme, silme işlemleri için endpoint’ler tanımlıdır.
Kullanıcı arayüzü ile etkileşimi sağlar.
Service Katmanı (Business Layer)
İş mantığı bu katmanda yer alır.
Controller’dan gelen talepleri işler, gerekli kuralları kontrol eder.
Örneğin, bir yerin dolu olup olmadığını kontrol eder, rezervasyon çakışmasını engeller.Repository Katmanı (Data Access Layer)
Veritabanı işlemlerini yönetir.
Spring Data JPA ile PostgreSQL üzerinde rezervasyon, kullanıcı ve masa tablolarına erişim sağlar.
CRUD (Create, Read, Update, Delete) işlemlerini gerçekleştirir.
Kullanıcılar sisteme giriş yaparak boş masaları görüntüleyebilir.
Rezervasyon oluşturabilir, kendi rezervasyonlarını görebilir ve iptal edebilirler.
Kullanıcılar başkalarının rezervasyonlarını göremez.
Yalnızca admin rolüne sahip kişiler masaları yönetebilir (masa ekleme, güncelleme, silme).
Backend: Spring Boot
Veritabanı: PostgreSQL
ORM: Spring Data JPA
Katmanlı mimari prensipleri ile yapılandırılmıştır.