HRMS
░▒▓█ 𝑯𝒖𝒎𝒂𝒏 𝑹𝒆𝒔𝒐𝒖𝒓𝒄𝒆𝒔 𝑴𝒂𝒏𝒂𝒈𝒆𝒎𝒆𝒏𝒕 𝑺𝒚𝒔𝒕𝒆𝒎 𝑷𝒓𝒐𝒋𝒆𝒄𝒕 █▓▒░
Install / Use
/learn @rzayevsahil/HRMSREADME
HRMS
Human Resources Management System - Backend
<img src="https://user-images.githubusercontent.com/58303745/121785903-9c8aac00-cbcd-11eb-9b7c-91dfc9874bc0.png" width="80%" /><br>
Gerçek email'e doğrulama mesajı gönderme
<img src="https://user-images.githubusercontent.com/58303745/122657001-9ddd4b00-d170-11eb-81d1-a645fb271a6b.jpg" width="80%" />
BACKEND İSTERLERİ
🔴: Madde 1 : İş Arayanlar sisteme kayıt olabilmelidir.
Kabul Kriterleri:
:sweat_drops: Kayıt sırasında kullanıcıdan ad, soyad, tcno, doğum yılı, e-Posta, şifre, şifre tekrarı bilgileri istenir. <br> :sweat_drops: Tüm alanlar zorunludur. Kullanıcı bilgilendirilir. <br> :sweat_drops: Mernis doğrulaması yapılarak sisteme kayıt gerçekleştirilir. <br> :sweat_drops: Doğrulama geçerli değilse kullanıcı bilgilendirilir. <br> :sweat_drops: Daha önce kayıtlı bir e-posta veya tcno var ise kayıt gerçekleşmez. Kullanıcı bilgilendirilir. <br> :sweat_drops: Kayıdın gerçekleşmesi için e-posta doğrulaması gerekir.
🔴: Madde 2 : İş verenler sisteme kayıt olabilmelidir.
Kabul Kriterleri:
:sweat_drops: Kayıt sırasında kullanıcıdan şirket adı, web sitesi, web sitesi ile aynı domaine sahip e-posta, telefon, şifre, şifre tekrarı bilgileri istenir. Burada amaç sisteme şirket olmayanların katılmasını engellemektir. <br> :sweat_drops: Tüm alanlar zorunludur. Kullanıcı bilgilendirilir. <br> :sweat_drops: Şirket kayıtları iki şekilde doğrulanır. Kayıdın gerçekleşmesi için e-posta doğrulaması gerekir. HRMS personelinin (bizim :)) onayı gerekmektedir. <br> :sweat_drops:Daha önce kayıtlı bir e-posta var ise kayıt gerçekleşmez. Kullanıcı bilgilendirilir.
🔴 Madde 3 : Sisteme genel iş pozisyonu isimleri eklenebilmelidir. Örneğin Software Developer, Software Architect.
Kabul Kriterleri:
:sweat_drops:Bu pozisyonlar tekrar edemez. Kullanıcı uyarılır.
🔴 Madde 4 : İş verenler listelenebilmelidir. (Sadece tüm liste)
🔴 Madde 5 : İş arayanlar listelenebilmelidir. (Sadece tüm liste)
🔴 Madde 6 : İş pozisyonları listelenebilmelidir. (Sadece tüm liste)
🔴 Madde 7 : İş verenler sisteme iş ilanı ekleyebilmelidir.
Kabul Kriterleri:
- İş ilanı formunda;
:sweat_drops:Seçilebilir listeden (dropdown) genel iş pozisyonu seçilebilmelidir.(Örneğin Java Developer)(Zorunlu) <br> :sweat_drops:İş tanımı girişi yapılabilmelidir. (Örneğin; firmamız için JAVA, C# vb. dillere hakim....)(Zorunlu) <br> :sweat_drops:Şehir bilgisi açılır listeden seçilebilmelidir. (Zorunlu) <br> :sweat_drops:Maaş skalası için min-max girişi yapılabilmelidir. (Opsiyonel) <br> :sweat_drops:Açık pozisyon adedi girişi yapılabilmelidir. (Zorunlu) <br> :sweat_drops:Son başvuru tarihi girişi yapılabilmelidir.
🔴 Madde 8 : Sistemdeki tüm aktif iş ilanları listelenebilmelidir.
Kabul Kriterleri:
:sweat_drops:Liste, tablo formunda gelmelidir. <br> :sweat_drops:Listede firmadı, genel iş pozisyonu adı, açık pozisyon adedi, yayın tarihi, son başvuru tarihi bilgileri olmalıdır.
🔴 Madde 9 : Sistemdeki tüm aktif iş ilanları tarihe göre listelenebilmelidir.
Kabul Kriterleri:
:sweat_drops:Liste, tablo formunda gelmelidir. <br> :sweat_drops:Listede firmadı, genel iş pozisyonu adı, açık pozisyon adedi, yayın tarihi, son başvuru tarihi bilgileri olmalıdır.
🔴 Madde 10 : Sistemde bir firmaya ait tüm aktif iş ilanları listelenebilmelidir.
Kabul Kriterleri:
:sweat_drops:Liste, tablo formunda gelmelidir. <br> :sweat_drops:Listede firmadı, genel iş pozisyonu adı, açık pozisyon adedi, yayın tarihi, son başvuru tarihi bilgileri olmalıdır.
🔴 Madde 11 : İş verenler sistemdeki bir ilanı kapatabilmelidir. (Pasif ilan)
🔴 Madde 12: Adaylar sisteme CV girişi yapabilmelidir.
Kabul Kriterleri:
:sweat_drops:Adaylar okudukları okulları sisteme ekleyebilmelidir. (Okul adı, bölüm) <br> :sweat_drops:Bu okullarda hangi yıllarda okuduklarını sisteme girebilmelidir. <br> :sweat_drops:Eğer mezun değilse mezuniyet yılı boş geçilebilmelidir. <br> :sweat_drops:Adayların okudukları okullar mezuniyet yılına göre tersten sıralanabilmelidir. Mezun olunmamışsa yine bu okul en üstte ve "devam ediyor" olarak görüntülenmelidir. <br> :sweat_drops:Adaylar iş tecübelerini girebilmelidir. (İş yeri adı, pozisyon) <br> :sweat_drops:Bu tecrübelerini hangi yıllarda yaptıklarını sisteme girebilmelidir. <br> :sweat_drops:Eğer hala çalışıyorsa işten ayrılma yılı boş geçilebilmelidir. <br> :sweat_drops:Adayların tecrübeleri yıla göre tersten sıralanabilmelidir. Hala çalışıyorsa yine bu tecrübesi en üstte ve "devam ediyor" olarak görüntülenmelidir. <br> :sweat_drops:Adaylar bildikleri yabancı dilleri sisteme girebilmelidir. ( Dil, Seviye -> 1-5) <br> :sweat_drops:Adaylar sisteme fotoğraf girebilmelidir. Adaya ait fotoğraf https://cloudinary.com/pricing sisteminde tutulacaktır. (Dış servis entegrasyonu) Ücretsiz hesabı kullanınız. <br> :sweat_drops:Adaylar sisteme github adreslerini girebilmelidir. <br> :sweat_drops:Adaylar sisteme linkedin adreslerini girebilmelidir. <br> :sweat_drops:Adaylar bildikleri programlama dillerini veya teknolojilerini sisteme girebilmelidir. (Programlama/Teknoloji adı) Örneğin; React <br> :sweat_drops:Adaylar sisteme ön yazı ekleyebilmelidir. (Örneğin: Çalışmayı çok severim....)
:desktop_computer: Madde 13 : Bir adaya ait tüm CV bilgisi görüntülenebilmelidir.
<br>
Database image
<img src="https://user-images.githubusercontent.com/58303745/124786258-a0091d00-df58-11eb-93e2-1fc820331241.png" width="80%" />Backend - Swagger'da Görüntüsü
<img src="https://user-images.githubusercontent.com/58303745/121781935-2760ac00-cbb8-11eb-9281-43f32ebe62c9.png" width="80%" />:toolbox: Kullanılan Teknolojiler
<summary><strong><i> Lombok </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121939-ba5c1800-c1ae-11eb-8327-67e22b7c7664.png" width="15%" height="15%" /><summary><strong><i> Hibernate </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121937-b9c38180-c1ae-11eb-8b7f-2e4ad3197598.jpg" width="10%" height="10%" />
<summary><strong><i> SpringDataJpa </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121942-bb8d4500-c1ae-11eb-8234-838d69081b18.png" width="15%" height="15%" />
<summary><strong><i> Spring Web </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121943-bb8d4500-c1ae-11eb-8a9d-f7afabafd3d6.png" width="10%" height="10%" />
<summary><strong><i> PostgreSql </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121946-bd570880-c1ae-11eb-9278-e159bbba8808.jpeg" width="15%" height="15%" />
<summary><strong><i> Swagger </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120121941-baf4ae80-c1ae-11eb-86b1-5647438c8b4a.png" width="10%" height="10%" />
<summary><strong><i> Cloudinary </i></strong></summary> <img src="https://user-images.githubusercontent.com/74687192/120887527-1504d200-c5fc-11eb-958f-79266c3a93fa.png" width="15%" height="15%" />
Projemi Geliştirirken Faydalandığım linkler
- Genel olarak :Baeldung
- Validasyon işlemleri için : Validation
- Entitites Katmanında Db Bğlantısı ve ayarlar için Jpa Entities
- List of Rules kuralları için : List of Rules
- Spring Data Jpa Spring Data Jpa
- MicroService Microservice Mimarisi
- Derived Query Methods in Spring Data JPA Repositories Derived Query Methods
- @Request Param Annotation Spring @RequestParam Annotation
- Spring Cache Spring Cache
- Spring FrameWork Ekosistemi Spring Ekosistemi
- Hibernate Mapping : Hibernatte Inheritance Mapping
- ModelMapper : ModelMapper
