NORMA Bank Application

Tamamlanma Tarihi: Mart 2024

Kullanılan Teknolojiler

Java 17 Spring Boot Hibernate PostgreSQL React Axios Redux Material-UI JWT Docker Swagger

Proje Açıklaması

NORMA Bank Application, modern ve güvenli bir online bankacılık sistemi olarak tasarlanmış kapsamlı bir full-stack uygulamasıdır. Backend tarafında Spring Boot, frontend tarafında ise React kullanılarak geliştirilmiştir.

Proje, modern yazılım geliştirme pratiklerini ve güvenlik standartlarını takip etmektedir. Backend tarafında Hibernate ORM ile veritabanı işlemleri, JWT ile güvenlik, Docker ile containerization ve Swagger ile API dokümantasyonu sağlanmıştır. Frontend tarafında ise React, Redux state yönetimi, Axios ile API entegrasyonu ve Material-UI ile modern bir kullanıcı arayüzü oluşturulmuştur.

Özellikler

Frontend Özellikleri

  • Modern ve responsive tasarım
  • Material-UI komponentleri
  • Redux ile state yönetimi
  • Axios ile API entegrasyonu
  • JWT tabanlı kimlik doğrulama
  • Form validasyonları
  • Gerçek zamanlı bildirimler

Backend Özellikleri

  • RESTful API mimarisi
  • JWT tabanlı güvenlik
  • Hibernate ORM ile veritabanı işlemleri
  • Swagger ile API dokümantasyonu
  • Docker containerization
  • Unit ve Integration testler

Müşteri Yönetimi

  • Müşteri hesapları ve bilgileri yönetimi
  • Yeni müşteri oluşturma
  • Müşteri bilgilerini güncelleme
  • Müşteri arama ve durum kontrolü

Hesap Yönetimi

  • Farklı hesap türleri (Vadesiz, Tasarruf)
  • Yeni hesap açma
  • Hesap hareketleri görüntüleme
  • Tarih aralığına göre filtreleme
  • Tasarruf hesaplarında faiz kazancı

Kart Yönetimi

  • Banka kartı ve kredi kartı yönetimi
  • Yeni kart oluşturma
  • Kart hareketleri görüntüleme
  • Kredi kartı borç takibi
  • Kart güvenlik işlemleri

Transfer Yönetimi

  • Hesaplar arası para transferi
  • IBAN ile transfer
  • E-posta ile transfer
  • Farklı para birimlerinde transfer
  • Güvenlik kontrolleri ve bakiye kontrolü

Kurulum ve Çalıştırma

Backend Kurulumu


# Projeyi klonlayın
git clone https://github.com/YusufAkin27/Bank-Application

# PostgreSQL'de 'norma' adında veritabanı oluşturun
createdb norma

# Projeyi derleyin
mvn clean install

# Uygulamayı başlatın
mvn spring-boot:run
                            

Frontend Kurulumu


# Frontend dizinine gidin
cd frontend

# Bağımlılıkları yükleyin
npm install

# Geliştirme sunucusunu başlatın
npm start
                            

Docker ile Çalıştırma


# Projeyi klonlayın
git clone https://github.com/YusufAkin27/Bank-Application

# Projeyi derleyin
mvn clean install

# Docker imajını oluşturun
docker build -t engbank:0.0.1 .

# Docker Compose ile başlatın
cd ./compose
docker-compose up
                            

API Dokümantasyonu

Projenin tüm API endpoint'leri Swagger UI üzerinden dokümante edilmiştir. Uygulama çalıştığında aşağıdaki adresten erişilebilir: