Skip to content

Emirhangn/Technova-E-Commerce-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Technova E-Ticaret Platformu

Java Spring Boot PostgreSQL React Redux Toolkit React Query Cypress

Technova, modern web teknolojileriyle geliştirilmiş, ölçeklenebilir ve güvenli bir e-ticaret platformudur. Proje, backend tarafında Spring Boot'un gücünü, frontend tarafında ise React'in esnekliğini kullanarak tam kapsamlı, uçtan uca (E2E) test edilmiş bir alışveriş deneyimi sunar. 🌐 Canlı Demo ve Test (Live Demo) Projeyi yerel ortamda kurmakla uğraşmadan direkt olarak canlı sunucu üzerinden test edebilirsiniz:

Canlı Uygulama Adresi: https://technova-e-commerce-project.vercel.app

Admin Paneli: https://technova-e-commerce-project.vercel.app/admin

Admin girişi bilgileri: mail = admin@test.com şifre = 123

🛠️ Kullanılan Teknolojiler

  • Backend: Java 17, Spring Boot 3, Spring Security, Hibernate (JPA)
  • Frontend: React.js, Vite, Tailwind CSS / Bootstrap, React Router
  • State & API Yönetimi: Redux Toolkit, TanStack React Query, Axios Interceptors
  • Veritabanı: PostgreSQL
  • Test & QA: Cypress (E2E Testing), JUnit (Unit Testing)

🧠 Gelişmiş Frontend Mimarisi

  • Axios Interceptors: Kullanıcı token'ları (JWT) her API isteğinde otomatik olarak header'a eklenerek akıllı ve güvenli bir kurye sistemi kurulmuştur.
  • React Query: Sunucudan veri çekerken loading ve error stateleri otomatik yönetilmiş, gereksiz render'ların önüne geçilmiştir.
  • Redux Toolkit: Kullanıcı oturum bilgileri (Auth) ve Sepet (Cart) işlemleri global state üzerinde performanslı bir şekilde yönetilmektedir.

🔐 Güvenlik ve Kimlik Doğrulama (JWT)

Sistemde güvenlik, JWT (JSON Web Token) tabanlı bir yapı üzerine kuruludur. Kullanıcılar giriş yaptıklarında kendilerine özel bir token tanımlanır ve bu token üzerinden yetkilendirme yapılır.

  • Stateless Yapı: Sunucu tarafında oturum tutulmaz, tüm yetkilendirme token üzerinden döner.
  • Role-Based Access Control (RBAC): Kullanıcılar USER ve ADMIN rolleriyle birbirinden ayrılır.

🛡️ Yetkilendirme Kuralları

Sistemdeki veri bütünlüğünü korumak adına hassas işlemler sıkı yetkilendirme kurallarına bağlanmıştır:

  • Admin Yetkileri: Ürün Silme, Ekleme ve Kullanıcı Yönetimi işlemleri tamamen ADMIN rolüne aittir.
  • Kısıtlamalar: USER rolüne sahip standart bir kullanıcı, sistemdeki ürünleri veya diğer kullanıcıları asla silemez. Sadece vitrini gezebilir, sepete ürün ekleyebilir ve sipariş sürecini yönetebilir.

🧪 Test ve Kalite Güvencesi (QA)

Sistemin kararlılığını sağlamak için çeşitli test senaryoları entegre edilmiştir:

  • Cypress (E2E): Kullanıcıların giriş yapma, ürünleri sepete ekleme ve sepetten çıkarma gibi kritik UI/UX senaryoları gerçek tarayıcı ortamında otomatize edilmiştir.
  • JUnit (Unit Tests): Backend tarafındaki iş mantığı (Service/Entity) ve kullanıcı rol/yetki atamaları izole edilmiş birim testleriyle doğrulanmıştır.

📸 Proje Ekran Görüntüleri

Admin Dashboard (Restricted Access)

Admin Dashboard

Shopping Experience

Shopping Experience

Home Page

Home Page

⚙️ Kurulum ve Çalıştırma

Gereksinimler

  • Java 17+
  • Node.js & npm
  • PostgreSQL

1. Projeyi Klonlayın

git clone [https://github.com/Emirhangn/technovo-ecommerce.git](https://github.com/Emirhangn/technovo-ecommerce.git)

Releases

No releases published

Packages

 
 
 

Contributors