Bu Github projesi, Spring Boot
çerçevesini öğrenmek ve temel uygulamalarını anlamak amacıyla geliştirilmiştir. Model-View-Controller (MVC) yapısına
, Alan doğrulamalarına
, Katmanlı mimariye
, Test senaryolarına
ve JWT ile kimlik doğrulama sistemine
odaklanılmıştır.
- Start Spring Initializr (start.spring.io)
- Model View Controller (MVC)
- Field Validation
- Three-Layer Codebase (Repository - Service - Controller)
- Testing
- Rest API
- Spring Boot JPA (SQL Database)
- Spring Security and JWT Authentication
-
Amaç: Spring Boot'un temel bileşenlerini öğrenmek ve uygulamalar geliştirmek.
-
Temel Özellikler:
- Model-View-Controller (MVC) tasarım deseni.
- Alan doğrulama (Field Validation).
- Üç katmanlı mimari (Three-Layer Codebase).
- RESTful API geliştirme.
- JWT kullanarak kimlik doğrulama ve Spring Security entegrasyonu.
- Spring Data JPA ile veri işlemleri.
Teknolojiler ve Araçlar: - Backend: Java (Spring Boot, Spring Security, Spring Data JPA) - Veritabanı: PostgreSQL, H2 Database (test amaçlı) - Test: JUnit, MockMvc, Mockito, Test-Driven Development - API Dokümantasyonu: Swagger - Program: Intellij IDEA, Postman, DBeaver, PgAdmin
Mimari: - Katmanlı Mimari: Controller, Service, Repository. - Tasarım Deseni: Model-View-Controller (MVC). - Kimlik Doğrulama: JWT ile kimlik doğrulama.
Gereksinimler:
- Java 17
- Maven 3
- Spring Boot Initializr
- Intellij IDEA
- Postman
- PostgreSQL
- DBeaver
- PgAdmin
Kurulum Adımları:
- Bağımlılıkları yüklemek için:
mvn clean install
application.properties
dosyasındaki veritabanı ayarlarını güncelleyin.- Backend:
mvn spring-boot:run
- Swagger dokümantasyonuna erişmek için:
http://localhost:8080/swagger-ui/index.html
- RESTful API desteği.
- JWT ile Kimlik Doğrulama ve kullanıcı yetkilendirme.
- Alan Doğrulama (Field Validation).
- Spring Data JPA ile CRUD işlemleri.
- Üç katmanlı mimari (Three-Layer Codebase).
- Test Odaklı Geliştirme için JUnit ve MockMvc.
Her konu için geliştirilen örnekler ve açıklamalar mevcuttur. Örnekler, terminal üzerinden veya Intellij İdea'dan çalıştırılabilir.
-
Proje Sahibi: Batuhan Baysal
-
Kaynaklar:
- Spring Boot Resmi Dokümantasyonu
- Spring Security Kılavuzları
- JPA Hibernate Referansları
- Udemy Spring Boot Bootcamp
-
LinkedIn: Batuhan Baysal LinkedIn Profilim
-
Github: Batuhan Baysal GitHub Profilim