Skip to content

Spring Boot Learning Journey (Model View Controller, Field Validation, Three Layer Codebase, Testing, Rest API, Spring Boot JPA, Spring Security and JWT Authentication.)

Notifications You must be signed in to change notification settings

BatuhanBaysal/Spring-Boot-Learning-Journey

Repository files navigation

Spring Boot Öğrenme Yolculuğum (My Learning Journey)

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.


Konular (Topics)

  • 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

1. Proje Hakkında (Overview)

  • 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.

2. Teknik Bilgiler (Technical Details)

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.


3. Kullanım (Usage)

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

4. Öne Çıkan Özellikler (Key Features)

  • 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.

5. Demo ve Ekran Görüntüleri (Demo & Screenshots)

Her konu için geliştirilen örnekler ve açıklamalar mevcuttur. Örnekler, terminal üzerinden veya Intellij İdea'dan çalıştırılabilir.


6. Katkıda Bulunanlar ve Kaynaklar (Contributors & Resources)

  • Proje Sahibi: Batuhan Baysal

  • Kaynaklar:

    • Spring Boot Resmi Dokümantasyonu
    • Spring Security Kılavuzları
    • JPA Hibernate Referansları
    • Udemy Spring Boot Bootcamp

7. İletişim ve Destek (Contact & Support)

About

Spring Boot Learning Journey (Model View Controller, Field Validation, Three Layer Codebase, Testing, Rest API, Spring Boot JPA, Spring Security and JWT Authentication.)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published