You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HRMS (İnsan Kaynakları Yönetim Sistemi) projesi, iş ilanlarının, iş başvurularının, işveren ve iş arayan bilgilerinin yönetildiği, Spring Boot tabanlı bir web servis uygulamasıdır.
Proje, REST API mimarisi ile geliştirilmiş olup, DTO, Request-Response Pattern, Validation ve Global Exception Handling gibi modern yazılım geliştirme tekniklerini içermektedir.
Özellikler
Şehir Yönetimi: Şehir ekleme, listeleme.
İş Pozisyonu Yönetimi: Pozisyon ekleme ve listeleme
İşveren Yönetimi: İşveren kaydı ve listeleme.
İş arayan Yönetimi: İş arayan kaydı ve listeleme.
İş İlanı Yönetimi: İş ilanı ekleme, listeleme, filtreleme.
İş Başvurusu Yönetimi: Adayların iş ilanlarına başvuru yapabilmesi.
Hata Yönetimi: @ControllerAdvice ile global exception handling.
Validasyon: @NotBlank, @Size@Email, @Future gibi anotasyonlarla doğrulama.
Kullanılan Teknolojiler
Katman
Teknoloji
Dil
Java 17
Framework
Spring Boot 3
ORM
Spring Data JPA / Hibernate
Veritabanı
PostgreSQL
Test
JUnit 5, MockMvc
Yardımcı
Lombok, Jackson, Jakarta Validation
Proje Katmanları
Entity: Veritabanı tablolarını temsil eden sınıflar.
DTO: Kullanıcıya döndürülecek veri transfer objeleri.
Request: Kullanıcıdan alınacak verileri temsil eden sınıflar.
Service: İş mantığı katmanı.
Repository (DAO): Veritabanı erişim katmanı.
Controller: API uç noktalarının bulunduğu katman.
Core Utilities: Result, DataResult, SuccessResult, ErrorResult gibi ortak dönüş yapıları.
Result Yapısı:
Result: İşlem sonucu (başarılı / başarısız) ve mesaj döner.
DataResult<T>: İşlem sonucu + veri döner.
SuccessResult, ErrorResult: Başarılı veya hatalı işlem durumları için hazır sınıflar.
HRMS (Human Resource Management System) is a Spring Boot REST API for managing job postings, employer registrations, candidate applications, and hiring workflows. It implements DTO, Request-Response Pattern, Validation, and Global Exception Handling.
Features
City Management — Add and list cities with unique name constraint
Job Position Management — Add and list job positions
Employer Management — Register and list employers
Candidate Management — Register and list job seekers
Job Advertisement Management — Add, list, and filter job advertisements
Job Application Management — Candidates can apply for job advertisements
Global Exception Handling — Consistent error responses via @ControllerAdvice
Field Validation — Jakarta Validation annotations (@NotBlank, @Size, @Email, @Future)
Tech Stack
Layer
Technology
Language
Java 17
Framework
Spring Boot 3
ORM
Spring Data JPA / Hibernate
Database
PostgreSQL
Testing
JUnit 5, MockMvc
Utilities
Lombok, Jackson, Jakarta Validation
Architecture
controller/ → REST API endpoints
service/ → Business logic
repository/ → Database access (Spring Data JPA)
entity/ → Database table mappings
dto/ → API response objects
request/ → Incoming request models
core/ → Shared result structures (Result, DataResult, SuccessResult, ErrorResult)