Backend: Java, Spring Boot | Frontend: React.js, TypeScript, Vite, SWC | Database: MySQL | Deployment: Docker | API Testing: Postman, Swagger UI
Bu proje, tam anlamıyla bir E-Commerce uygulaması olarak geliştirilmiştir. Hem backend hem de frontend geliştirme süreçlerinde modern teknolojiler kullanılarak yüksek performanslı ve ölçeklenebilir bir yapıda oluşturulmuştur. Spring Boot ve React.js gibi güçlü araçlarla uygulamanın güvenilirliği ve performansı ön plana çıkmaktadır.
Backend:
- Spring Boot, Maven 3, Java 17
Frontend:
- React.js, TypeScript, Vite, SWC
Database:
- MySQL Workbench
Containerization:
- Docker
API Testing:
- Swagger UI, Postman
- Güçlü backend yapısı: Entity, Model, Mapper, Repository, Service, Controller, Config, Exception ve Security katmanları kullanıldı.
- Modern frontend geliştirme: React.js ve TypeScript ile hızlı ve optimize bir arayüz oluşturuldu.
- MySQL veritabanı entegrasyonu ve Docker ile kolay deployment sağlandı.
- Maven 3 ve Spring Boot kullanıldı.
- Dependency Management için aşağıdaki teknolojiler ve paketler kullanıldı:
- Spring Boot Starter Data JPA
- Spring Boot Starter Web
- MySQL Connector
- Lombok
- Springdoc OpenAPI Starter WebMVC UI
- Spring Boot Starter Data Redis
- Spring Boot Starter Security
- JJWT API
- JJWT Impl
- JJWT Jackson
- MapStruct
- MapStruct Processor
- Modern React.js altyapısı kullanıldı.
- TypeScript ile statik tip kontrolü sağlandı.
- Hızlı build ve optimizasyon için Vite ve SWC tercih edildi.
- MySQL Workbench ile veritabanı tasarımı yapıldı.
- Spring Boot Data JPA ve Hibernate kullanılarak veritabanı işlemleri gerçekleştirildi.
- Swagger UI ve Postman kullanılarak REST API endpointleri test edildi.
- Kullanıcıların ürünleri listeleyebilmesi, sepete ekleyebilmesi ve satın alabilmesi sağlandı.
- Yönetici paneli üzerinden ürün ekleme, silme ve güncelleme işlemleri yapılabilir.
- Güçlü güvenlik altyapısı ve JWT ile kullanıcı doğrulama mekanizması kullanıldı.
- Modüler ve temiz backend yapısı: Entity, Model, Mapper, Repository, Service katmanlarıyla sürdürülebilir geliştirme.
- React.js ile hızlı ve optimize frontend geliştirme.
- Docker kullanarak uygulamanın hızlı bir şekilde deployment ve taşınabilirliği.
- Swagger UI üzerinden API dokümantasyonu ve Postman ile test edilebilir API endpointleri.
- Güçlü güvenlik yapısı için Spring Security ve JWT doğrulaması.
- Docker Compose kullanarak uygulamayı çalıştırmak için komutu kullanın:
docker-compose up -d
- Bu komut, projenin gerekli tüm servislerini arka planda başlatır.
Swagger UI üzerinden API dokümantasyonuna erişmek için aşağıdaki adresi tarayıcınıza yazın:
- http://localhost:8081/swagger-ui/index.html
- Swagger UI, API endpointlerini testlemek ve dokümantasyonu görüntülemek için kullanılır.
- React.js ve TypeScript projesini başlatmak için aşağıdaki adımları takip edin:
- Vite Projesini oluşturma:
npm create vite@latest
- Gerekli paketleri yükleme:
npm install
- Proje başlatma:
npm run dev
veyanpm start
- Vite kullanarak hızlı ve optimize bir build süreci sağlanır. Ayrıca SWC tercih edilerek performans iyileştirilmiştir.
Frontend geliştirme için Material-UI kullanıldı. Yüklenen paketler:
-
npm install @mui/material @emotion/react @emotion/styled
-
npm install @fontsource/roboto
-
npm install @mui/icons-material
-
npm i axios
-
npm i react-toastify
-
npm i redux react-redux
-
npm install @reduxjs/toolkit
-
npm i @paralleldrive/cuid2
-
npm i @mui/lab
-
npm install react-hook-form
-
npm i yup
-
npm install @hookform/resolvers yup
-
Bu paketler, hızlı UI bileşenleri, state yönetimi, form doğrulaması ve API istekleri gibi özellikleri destekler.
-
Maven projenin kök klasöründe olduğunuzdan emin olun.
-
Maven bağımlılıklarını yüklemek ve projeyi çalıştırmak için:
mvn clean install
-
Bu adım, backend için gerekli bağımlılıkları yükler ve projeyi derleyerek çalıştırılabilir hale getirir. Maven, Spring Boot projelerinde dependency yönetimi ve build işlemlerini kolaylaştırır.
Proje, backend ve frontend sistemlerini hızlı ve verimli bir şekilde çalıştırarak test edilebilir durumda tasarlandı.
- Backend: Spring Boot uygulamasını çalıştırın ve veritabanı bağlantısını doğrulayın. Swagger UI üzerinden tüm API endpointlerini testleyebilirsiniz.
- Frontend: React.js uygulamasını hızlı build ve optimizasyon araçları (Vite ve SWC) kullanarak çalıştırın. Kullanıcı arayüzünü ve etkileşimleri testleyin.
-
Proje Sahibi: Batuhan Baysal
-
Kaynaklar:
- Spring Boot Resmi Dokümantasyonu
- React.js Resmi Dokümantasyonu
- MySQL Documentation
- Docker Resmi Dokümantasyonu
- Swagger UI Resmi Dokümantasyonu
- Postman Documentation
-
LinkedIn: Batuhan Baysal LinkedIn Profilim
-
Github: Batuhan Baysal GitHub Profilim