Bu proje, sinema rezervasyon işlemlerini yönetmek için bir API sağlar. Projede, Spring Boot kullanılarak bir rest api oluşturulmuştur.
Aşağıdaki adımları izleyerek projeyi yerel ortamınızda çalıştırabilirsiniz.
Java JDK 21 veya üstü yüklü olmalıdır. Maven yüklü olmalıdır. MongoDB
Bu depoyu klonlamak için aşağıdaki komutu kullanabilirsiniz:
git clone https://github.com/burakozkan138/cinemabookingsystem.git
Öncelikle projenin bulunduğu dizine gidin.
cd cinemabookingsystem
İlk olarak aşağıdaki komotu kullanarak docker compose ile birlikte projemizi build edelim.
docker-compose build --build-arg JWT_SECRET_KEY=mysecretsecretkey
Ekleyebileceğiniz diğer argumanlar ve örnek değerleri.
SERVER_SERVLET_CONTEXT_PATH=/api/v1
SPRING_DATA_MONGODB_URI=mongodb://mongo:27017/
SPRING_DATA_MONGODB_DATABASE=cinemabookingsystem
JWT_SECRET_KEY=mysecretkey
JWT_EXPIRATION_TIME=86400000
Ve daha sonra alttaki komutu kullanarak uygulamamızı ayağa kaldırıyoruz.
docker-compose up -d
Uygulama başarıyla başladıysa, http://localhost:8080 adresinden API'ye erişebilirsiniz. ayrıca 27017 portu üzerinde mongodb'ye erişebilirsiniz.
API'yi kullanarak sinema rezervasyonları oluşturabilir, güncelleyebilir, silebilir ve sorgulayabilirsiniz. API ile ilgili daha fazla bilgi için belgeleri inceleyin.
API isteklerini kolayca yapabilmek için Postman koleksiyonunu buradan indirebilirsiniz. Bu koleksiyon, API isteklerini yapmanızı sağlayacak hazır yapılandırılmış istekler içerir. Kullanmak için environment olarak Testi seçin
API'ye erişim yetkileri olan bir yönetici kullanıcısını kullanarak özel işlemler gerçekleştirebilirsiniz. Varsayılan yönetici hesabı bilgileri aşağıdaki gibidir:
- Kullanıcı Adı: admin
- Şifre: 123456 Bu bilgileri kullanarak API'ye yönetici olarak erişebilir ve özel işlemleri gerçekleştirebilirsiniz.
Kayıt olma işlemi. Endpoint: api/v1/auth/register
Giriş Yapma işlemi. Endpoint: api/v1/auth/login
Session Oluşturma işlemi Endpoint: api/v1/sessions
Reservation Oluşturma işlemi Endpoint: api/v1/reservations
Reservation Oluşturma işlemi Dolu Koltuk Hatası Endpoint: api/v1/reservations