Marketivo
Marketivo, farklı kategorilerde ürün satışını destekleyen modern ve kullanıcı dostu bir e-ticaret platformudur. Kullanıcılar ürünleri inceleme, sepete ekleme ve satın alma akışını uçtan uca deneyimleyebilir. Proje, gerçek e-ticaret sistemlerindeki temel alışveriş süreçlerini anlaşılır bir arayüzle simüle eder.
- Kurum / bağlam
- Kişisel
- Kategori
- Web
- Dönem
- 1 Tem 2025 - 1 Ağu 2025
Teknolojiler
MySQL Java Spring Boot 3 Spring Security Spring Data JPA Multi Language Support RESTful API Lombok Spring Data REST Repository Pattern Pagination Angular 20 TypeScript RxJS NgRx PrimeNG Auth0 Nginx Proxy Manager Docker Docker Compose ESLint Stripe JWT Tokens Ngx Translate Facade Pattern Angular Reactive Forms HTTP Interceptors FluentValidationTS Cloudflare Custom Domain Ubuntu Server HTML CSS JavaScript Git GitHub
Bağlantılar
Canlı Ortam marketivo.erengaygusuz.com.tr Kod Deposu (Frontend) github.com/erengaygusuz/marketivo-frontend Kod Deposu (Backend) github.com/erengaygusuz/marketivo-backend Docker Image (Frontend) hub.docker.com/r/erengaygusuz/marketivo-frontend Docker Image (Backend) hub.docker.com/r/erengaygusuz/marketivo-backend
Marketivo, farklı kategorilerde ürün satışını destekleyen modern ve kullanıcı dostu bir e-ticaret platformudur. Kullanıcılar ürünleri inceleme, sepete ekleme ve satın alma akışını uçtan uca deneyimleyebilir. Proje, gerçek e-ticaret sistemlerindeki temel alışveriş süreçlerini anlaşılır bir arayüzle simüle eder.
Proje Bilgisi
- Kurum / bağlam: Kişisel
- Platform: Web
- Dönem: 07.2025 - 08.2025
Proje Türü
- Proje bir full stack web uygulamasıdır.
- Frontend tarafı Angular, backend tarafı Spring Boot 3 ile geliştirilmiştir.
- Kişisel bir e-ticaret projesidir.
Mimari Yapı / Sistem Tasarımı
- Proje üç ana katmandan oluşur: frontend uygulaması, backend uygulaması ve veritabanı.
- Frontend uygulaması Angular ile component based bir mimari üzerine kurulmuştur.
- State yönetimi için NgRx kullanılmış, Store bağımlılığını azaltmak için Facade Pattern ile bu yapı kapsüllenmiştir.
- Backend uygulaması Spring Boot 3 ile geliştirilmiş ve okunabilirliği korumak için dao, service gibi katmanlara ayrılmıştır.
- Modüller arasındaki bağımlılığı düşük tutmak ve genişlemeye uygun bir yapı kurmak hedeflenmiştir.
- Veritabanı katmanında MySQL kullanılmıştır.
- MySQL sunucusu kendi Ubuntu Server ortamımda Docker container olarak çalışır.
- Backend uygulaması, aynı Docker ağı içinde bulunan MySQL servisini tüketir.
- Veritabanının geliştirici ortamından güvenli yönetimi için SSH tunnel kullanılmıştır.
- Sunucu erişimi private key ve public key üzerinden güvenli şekilde sağlanmaktadır.
Kullanılan Teknolojiler
- Backend: Java, Spring Boot 3, Spring Security, Spring Data JPA, Spring Data REST, Lombok, RESTful API, Repository Pattern, Pagination
- Frontend: Angular 20, TypeScript, RxJS, NgRx, PrimeNG, Angular Reactive Forms, HTTP Interceptors, Ngx Translate
- Doğrulama ve güvenlik: Auth0, JWT Tokens, FluentValidationTS, Spring Security
- DevOps ve yayınlama: Docker, Docker Compose, Docker Hub, Nginx Proxy Manager, Cloudflare, Custom Domain, Ubuntu Server
- Veritabanı: MySQL
- Ödeme: Stripe
- Kod kalitesi ve araçlar: ESLint, Prettier, Git, GitHub
- Web temelleri: HTML, CSS, JavaScript
Öne Çıkan Teknik Detaylar ve Modüller
- Frontend için component based mimari tasarım uygulandı.
- NgRx ile merkezi state yönetimi kuruldu.
- Store bağımlılığını azaltmak için Facade Pattern kullanıldı.
- PrimeNG ile kullanıcı dostu ve modern bir arayüz oluşturuldu.
- Stripe ile ödeme entegrasyonu sağlandı.
- Auth0 ile authentication süreci yönetildi.
- Backend ve frontend tarafında çoklu dil desteği sağlandı.
- FluentValidationTS ile form validasyonları yönetildi.
- Geliştirici deneyimi için ESLint ve Prettier desteği eklendi.
- Docker ve Docker Compose ile container tabanlı çalışma ve yayınlama akışı oluşturuldu.
Katılım Durumu ve Süre
- Projeyi tek başıma geliştirdim.
- Analiz, tasarım, geliştirme, test, deployment ve yayınlama süreçlerinde baştan sona yer aldım.
- Proje Temmuz 2025 ve Ağustos 2025 tarihleri arasında geliştirildi.
Proje Yönetimi / Takım Yapısı
- Proje kişisel olarak geliştirildiği için ayrı bir takım yapısı bulunmamaktadır.
- İş takibi ve kişisel planlama için Trello kullanıldı.
- Geliştirme sürecinde yapılacak işler, tamamlanan görevler ve iyileştirme notları Trello üzerinden takip edildi.
Kişisel Katkılar ve Sorumluluklar
- Projenin tüm teknik sorumluluğu bana aittir.
- Frontend, backend, veritabanı, deployment ve domain yönetimi süreçlerini kendim yürüttüm.
- Uygulama şu an kendi fiziksel sunucumda Ubuntu Server üzerinde yayınlanmaktadır.
- Projenin ihtiyaç duyduğu Docker, ağ, domain, SSL ve yayınlama süreçlerini kendi geliştirme ortamımda yönettim.
Yayın / Deployment Bilgisi
- Proje Docker image olarak hazırlanıp Docker Hub üzerinde barındırılmaktadır.
- Kaynak kodlar Git ile versiyonlanmakta ve GitHub üzerinde herkese açık şekilde tutulmaktadır.
- Yayınlama işlemi kendi fiziksel Ubuntu Server ortamım üzerinden yapılmaktadır.
- Domain ve DNS yönetimi Cloudflare ile sağlanmaktadır.
- Gerektiğinde SSL sertifikası Let’s Encrypt üzerinden yönetilmektedir.