-
Bu proje, stajım sırasında geliştirilen bir
Tam Yığın (Full Stack)
Çalışan Yönetim Sistemidir. Proje kapsamındaSpring Boot
veReact.js
teknolojileri kullanılarak backend ve frontend geliştirilmiştir. Veritabanı olarakPostgreSQL
, API testi içinPostman
kullanılmıştır. -
Stajımın ardından
Full Stack Development
alanında kendimi geliştirmeye karar verdim. Bu doğrultuda çeşitli eğitim programlarına katıldım ve bu eğitimlerden elde ettiğim bilgilerle staj sürecinde yazdığım program üzerinde ek geliştirmeler yaptım.
-
Kullanılan Teknolojiler:
- Backend: Java, Spring Boot
- Frontend: React.js, JavaScript, CSS, HTML
- Database: PostgreSQL
- API Testing: Postman
-
Kullanılan Programlar:
- Backend Development: IntelliJ IDEA
- Frontend Development: Visual Studio Code
- Database Management: DBeaver, pgAdmin
-
Veritabanı Yapısı:
- Employee Table: Çalışan ad, soyad ve e-posta bilgilerini içerir.
- Salary Table: Çalışan maaş bilgilerini başlangıç ve bitiş tarihleri ile birlikte tutar. Bu tablo, bir yabancı anahtar (foreign key) aracılığıyla
Employee
tablosuna bağlanır.
-
Temel Özellikler:
- CRUD işlemleri: Kullanıcılar hem
Employee
hem deSalary
tablolarında CRUD işlemleri gerçekleştirebilir. - Kaskadlı Silme: Bir çalışan silindiğinde ilişkili maaş kayıtları da silinir.
- Exception Handling: Uygulama boyunca hata bildirimleri sağlanır.
- DTO ve Mapper: Karmaşıklığı azaltmak ve güvenliği artırmak için Veri Aktarım Nesneleri (DTO) ve Mapper kullanımı.
- CRUD işlemleri: Kullanıcılar hem
-
Backend
-
Mimari: Model-View-Controller (MVC)
-
IntelliJ IDEA ile geliştirilmiş ve PostgreSQL veritabanına bağlanmıştır.
-
Ayarlar:
- Maven yapılandırması: IntelliJ IDEA'de Maven ana yolu "Bundled (Maven 3)" olarak ayarlanır.
- Java SDK:
corretto-17
kullanılarak geliştirilmiştir. - application.properties dosyası:
spring.datasource.url=jdbc:postgresql://localhost:5432/employee-management spring.datasource.username=postgres spring.datasource.password=12345678 spring.jpa.hibernate.ddl-auto=update spring.sql.init.mode=always spring.jpa.show-sql=true spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.open-in-view=false
- Veritabanı Oluşturma:
pgAdmin
ile veritabanı oluşturulur. - Veritabanı Komutları (Manuel oluşturmak için):
cd C:\Program Files\PostgreSQL\17\bin psql -U postgres CREATE DATABASE "employee-management";
- Not: Eğer
psql -U postgres
komutu girildikten sonra çıkan şifre bilinmiyorsa (PostgreSQL Kurulumu sırasında superuser için belirlenen şifre):
ALTER USER postgres WITH PASSWORD 'new_password';
- Önemli Not: PostgreSQL kurulumu sırasında
The Database cluster initialization failed.
hatası alınırsa indirilen tüm dosyaları bilgisayardan silin ve kurulumu yönetici olarak açıp konumuEnglish United State America
seçin.
-
-
Frontend
- React.js ile geliştirilmiştir.
- Kullanıcı arayüzü tasarımı ve backend API'leriyle etkileşim sağlanmıştır.
- React.js kurulumu:
npx create-react-app employeemanagement-frontend cd employeemanagement-frontend
-
Gerekli Bağımlılıklar:
npm i bootstrap npm i axios npm i react-router-dom npm install --save-dev @babel/plugin-proposal-private-property-in-object npm install date-fns
-
Backend
- Uygulamayı başlatmak için bu komut kullanılır:
mvn spring-boot:run
- Uygulamayı başlatmak için bu komut kullanılır:
-
Frontend
- Uygulamayı başlatmak için bu komut kullanılır:
npm start
- Uygulamayı başlatmak için bu komut kullanılır:
- Tam Yığın (Full Stack) geliştirme yaklaşımı.
- PostgreSQL ile güvenilir veritabanı yönetimi.
- RESTful API ve CRUD işlemleri.
- DTO ve Mapper ile temiz ve modüler kod yapısı.
- Exception Handling ile kullanıcı dostu hata yönetimi.
Backend kısmı Intellij IDEA'dan, Frontend kısmını Visual Studio Code programından çalıştırılabilir.
-
Proje Sahibi: Batuhan Baysal
-
Kaynaklar:
- Spring Boot Resmi Dokümantasyonu
- React.js Resmi Kılavuzu
- PostgreSQL Veritabanı Yönetimi
-
LinkedIn: Batuhan Baysal LinkedIn Profilim
-
Github: Batuhan Baysal GitHub Profilim