Yazılım Geliştirici Yetiştirme Kampı (JAVA & REACT) Uygulama Projesi (Backend)

Overview

HRMS_JavaProject

Yazılım Geliştirici Yetiştirme Kampı (JAVA & REACT) Uygulama Projesi (Backend)

9.Gün Ödevleri:

  • Farklı alanlara başvuru için, aday başına birden fazla cv modeli temel alındı.
  • Birden çok okul, iş tecrübesi, yetenek/kullanılan teknoloji, yabancı dil ve fotoğraf eklenebilirliği gözetildi (ki fotoğraf dışındakiler için bu durum ödevde istenmiş), bu nedenle bu alanlar için ayrı tablolar oluşturuldu (cvs, skills, educations, experiences, languages ve photos). (Bu özellikler için birden fazla kayıt olabileceğinden dolayı, tek tabloda tutulması doğru olmazdı)
  • Ana özgeçmiş tablosu olan cvs tablosu user_id aracılığı ile Candidate tablosuna, skills, educations, experiences, languages ve photos tabloları da cv_id ile cvs tablosuna bağlandı.
  • Bütün cv alanlarını içerecek ve tek adımda kayıt yapılacak şekilde (Education list, Experience list, Skill List, Language list) Cv formu hazırlandı. Alt alanlar istenirse ayrı ayrı da eklenebilir.
  • Silme ve güncelleştirme metotları daha sonra eklenecektir.
  • Cv id'sine göre cloudinary platformuna fotoğraf yükleme metodu yazıldı (Cv formuyla birlikte yüklenebilmesi için code refactoring yapılacak)
  • Alınacak Okul ve iş deneyimi listelerinin cv ve kullanıcıya göre sorgulanacak, sorgu sonuçları tersten sıralanacak, mezuniyet veya işten ayrılma tarihlerinde null değerlere sahip kayıtlar en üstte olacak şekilde çıktı vermesi için gerekli metotlar yazıldı. (Listelerdeki Null değerlere "Devam ediyor" çıktısı yazdırılması, alanın Date tipinden çıkmasına yol açtığı için frontend tarafına bırakıldı)
  • Cloudinary servisi, core katmanına yerleştirilen bir upload helper interface'i implement edilerek, business katmanında adapters paketine yerleştirildi. Ve constructor injection ile PhotoManager içerisinde kullanıldı.
  • CvManager içerisindeki constructor injection parametrelerinin fazlalığı rahatsız ettiği için üzerinde çalışılacak.

NOT: Cloudinary Service adaptasyonunu kullanmak isteyen arkadaşların, adapters paketindeki CloudinaryAdapterService içerisindeki api bilgilerini kendi üyelik bilgilerine göre doldurmaları yeterli olacaktır.

Geçmiş:

  • İş arayanlar ve iş verenler için gerekli register işlemleri AuthManager içerisinde ayrı metotlarla gerçekleştiriliyor
  • Gerekli alanların doluluk ve uygunluk kontrolleri, Business katmanına yerleştirdiğim kendi Validation sınıfları ile yapılıyor. Tüm alan hataları toplu olarak kullanıcıya geri iletiliyor.
  • Email ve TC kimlik no uygunluk kontrolünü basit regex kalıpları ile yaptım, ama eksik olduğu için istisnalara yol açabiliyor.
  • İşveren domain-email uygunluğunu da aynı doğrulama sınıfında regex ile gerçekleştirdim. Regex kalıbı ile email adresindeki domain bölümünü ayırıp, website stringi ile eşitliğini kontrol ettim.
  • Yine mernis doğrulaması ve email ile aktivasyon kodu gönderimini constructor injection yoluyla eklediğim servisler aracılığı ile yaptım.
  • Kayıt verilerinin doğruluk kontrollerinin yapılacağı yere tam olarak karar veremedim ama ana işlemleri yapacak metotları manager sınıflarının içerisinden çağırma yöntemiyle AuthManager içerisinde yapmayı tercih ettim.
  • Aktivasyon kısıtlamalarını kontrol edebilmek için login metotları ekledim. Ancak her bir kullanıcı grubunun kontrol şartları farklı olduğu için ayrı login metotları tanımladım kullanıcı grupları için. Bu durum beni rahatsız ediyor ama şimdilik başka bir çözüm bulamadım. Üzerinde çalışıyorum hala.
  • Özellikle daha önceden kayıtlı kullanıcıları, belli şartlara bağlı olarak hızlıca ve az kodla tespit edebilmek için Engin hocanın paylaştığı https://www.baeldung.com/spring-data-derived-queries adresindeki yazıdan yararlanarak sorgular hazırladım. Login kontrolü için de aynı anda mail ve password eşleşmesini kontrol eden genişletilmiş sorgu kullandım.
  • Activasyon için AuthController içerisinde email ve activation code bilgilerini alan comfirmActivation metodu tanımlayıp, AuthManager içerisindeki ilgili metoda yönlendirme yaptım.

ERDiagram

alt ERDiagram

You might also like...

Backendini Javada Frontendini ise React ile yazacağım insan kaynakları yönetim kısmınının backend kısmıdır

Backendini Javada Frontendini ise React ile yazacağım insan kaynakları yönetim kısmınının backend kısmıdır

İnsan Kaynakları Yönetim Sistemi insan kaynaklarının, iş süreçlerinin ve verilerin kolay yönetimini sağlamak için bir dizi sistemi ve işlemi birleştir

Dec 5, 2022

Frontend : React , Backend : Spring boot

React(Front) + Spring Boot(Back) 작업 하기 앞서, React와 Spring Boot는 각각 다른 서버에서 돌아가기 때문에, 연동시 Front에 문제가 생기면 Back까지 문제가 생길 수 있다. 하지만, Spring Boot에서 React와 같

Jan 9, 2022

Projeto criado na semana Spring React organizado pela escola Dev Superior com foco na prática/aprendizado das tecnologias Spring e React.

DSVendas Projeto criado na semana Spring React organizado pela escola Dev Superior com foco na prática/aprendizado das tecnologias Spring e React. htt

May 18, 2021

Sceneform React Native AR Component using ARCore and Google Filament as 3D engine. This the Sceneform Maintained Component for React Native

Sceneform React Native AR Component using ARCore and Google Filament as 3D engine. This the Sceneform Maintained Component for React Native

Discord Server Join us on Discord if you need a hand or just want to talk about Sceneform and AR. Features Remote and local assets Augmented Faces Clo

Dec 17, 2022

With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any other file server

React Native In-App update With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any o

Dec 21, 2022

Java backend for ASoulCnki

A-SOUL评论区小作文 枝网查重系统 后端 源项目:https://github.com/stream2000/ASoulCnki 网站地址:https://asoulcnki.asia 部署 1 系统要求 Java 8 Java堆内存1500M及其以上 2 运行 2.1 依赖json文件运行 修

Nov 7, 2022

Java - Backend for Human Resource Management System

HRMS (Human Resource Management System) Main Directory PostgreSQL (Heroku)Live API Java(1.8) - Spring Boot based. Dependencies: Spring Boot DevTools S

Dec 26, 2022

Repository with Backend code for InnoTutor project. It is written on Java/Spring.

Repository with Backend code for InnoTutor project. It is written on Java/Spring.

Backend ᅠ ᅠ Developers: Daniil Livitn, Roman Soldatov Contents Requirements API Database Google credentials Hosting and CI How to install locally Code

Sep 17, 2022

Desafio Alura Challenge para backend. Criando uma API REST de controle de orçamento utilizando JAVA.

Desafio Alura Challenge para backend. Criando uma API REST de controle de orçamento utilizando JAVA.

Jun 16, 2022
Owner
Barış ERTUĞRUL
Barış ERTUĞRUL
Yazılım Geliştirici Yetiştirme Kampı (JAVA + REACT) 4.gün 3.ödev

GameProject Yazılım Geliştirici Yetiştirme Kampı (JAVA + REACT) ?? Engin Demiroğ tarafından sisteme yüklenmiş ödevin içeriği Bir oyun yazmak istiyorsu

Dilara BEDİR 9 May 8, 2021
Engin Demiroğ Yazılım Geliştirici Yetiştirme Kampı (JAVA + REACT) Rehberi

1. Java Temelleri - 1 DERS Değişkenler Referans Tipleri Şart Blokları Döngüler Diziler 2. Java Temelleri - 2 DERS Main Product Product Manager Categor

İbrahim Can Erdoğan 58 Nov 6, 2022
Engin Demiroğun düzenlemiş olduğu (Java & React) Yazılım Geliştirici Yetiştirme Kampında verilen ödev5'i içermektedir.

eTicaretSistemiSimulasyonu Engin Demiroğun düzenlemiş olduğu (Java & React) Yazılım Geliştirici Yetiştirme Kampında verilen ödev5'i içermektedir. Ödev

Baran Emre Türkmen 10 Apr 27, 2022
Bu repo Engin Demiroğ hocanın 2022 Java Yazılımcı Geliştirme ve Yetiştirme Kampı'na ait ödevleri içermektedir.

Java_2022 Bu repo Engin Demiroğ hocanın 2022 Java Yazılımcı Geliştirme ve Yetiştirme Kampı'na ait ödevleri içermektedir. 14.09.2022 - ??.??.???? Ödevl

Esma 9 Oct 13, 2022
İnnova-Patika Java Spring Bootcamp - > Bitirme Projesi -> Backend

İnnova-Patika Java Spring Bootcamp - > Bitirme Projesi -> Backend

Murat Ali KIŞTAN 6 May 1, 2022
CASGEM MİLTEK Java Backend Yazılımcı Geliştirme Programı kapsamında geliştirdiğim RentACar projesi

Rent A Car Project Rent A Car Backend Project is a demo built with Spring Boot. Features Each brand can have a maximum of 5 vehicles, The car can be d

Ferhat ÇELİK 19 Sep 14, 2022
Engin Demiroğ - Yazılımcı Geliştirme (JAVA + REACT) Yerleştirme Kampı 5. Gün Ödevi

JavaCampD5HomeWork Engin Demiroğ - Yazılımcı Geliştirme (JAVA + REACT) Yerleştirme Kampı 5. Gün Ödevi Package.Entites Kayıt olacak kullanıcının bilgil

Berkcan 14 Jun 30, 2021
In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend

In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend. We will use MySQL database to store and retrieve the data.

Ramesh Fadatare 43 Dec 22, 2022
Java kampı 4. gün 2. ödev

gameManager Java kampı 4. gün 2. ödev Data Access kısmı boş ödev niteliklerinde veritabanı bağlantısı istenilmemiştir. İstenilen tüm nitelikler yerine

Eren Ali Şavk 6 May 13, 2021
Backendini Javada Frontendini ise React ile yazacağım insan kaynakları yönetim kısmınının backend kısmıdır

İnsan Kaynakları Yönetim Sistemi insan kaynaklarının, iş süreçlerinin ve verilerin kolay yönetimini sağlamak için bir dizi sistemi ve işlemi birleştir

Emirhan Doğandemir 17 Dec 5, 2022