Marketivo
Farklı kategorilerde ürünlerin satışının yapıldığı modern, kullanıcı dostu arayüze sahip bir e-ticaret platformu. Platform ile kullanıcılar her e-ticaret sisteminde satışta olan ürünlerin satın alınması sürecini...
ProjectsFarklı kategorilerde ürünlerin satışının yapıldığı modern, kullanıcı dostu arayüze sahip bir e-ticaret platformu. Platform ile kullanıcılar her e-ticaret sisteminde satışta olan ürünlerin satın alınması sürecini…
Proje Bilgisi
- Kurum / bağlam: Kişisel
- Platform: Web
- Dönem: 07.2025 - 08.2025
Kapsam
Farklı kategorilerde ürünlerin satışının yapıldığı modern, kullanıcı dostu arayüze sahip bir e-ticaret platformu. Platform ile kullanıcılar her e-ticaret sisteminde satışta olan ürünlerin satın alınması sürecini deneyimleyebiliyor.
Mimari ve Sistem Tasarımı
Proje mimari olarak birkaç katman içeriyor. Bunlar; frontend uygulaması, backend uygulaması ve veritabanı olarak ifade edilebilir. Frontend uygulaması kendi içerisinde yapısı gereği component based bir mimariye sahip. Framework olarak Angular kullanıldı. Ayrıca burada state yönetimi için NgRx var. Yine Store’a bağımlılığı azaltmak için facade tasarımı deseni ile bu yapı kapsüllendi. Proje uzun zaman kullanıma ve genişlemeye direnmeyecek bir mimariye sahip şu an. Backend uygulaması ise Spring Boot frameworkü kullanılarak hazırlandı. Spring Boot’un sunmuş olduğu paketler yardımıyla kolaylıkla tasarlandı. Burası da aynı şekilde genişlemeye müsait. Geliştiriciye zorluk çıkarmayacak şekilde okunabilirlik sağlıyor. Burası da kendi içinde bazı katmanlara sahip. dao, service vb. katmanlarla modüllerin birbirine olan bağımlılığını en az seviyede tutmayı hedefledim. Veritabanı katmanı ise backend’in beslendiği veritabanını ifade ediyor. Burada MySQL’i kullandım. Kendi sunucumda dockerize edilmiş bir MySQL sunucumu aynı docker ağında bulunan backend uygulaması tüketebiliyor. Ayrıca veri tabanının dışarıdan geliştirici ortamda yönetimi için de bir ssh tunnel oluşturdum. Oluşturulan private ve public key’ler ile güvenli bir şekilde sunucuya erişim sağlanıyor.
Öne Çıkan Teknik Detaylar
- Frontend için Component Based Mimarisel Tasarım
- NgRx ile State Yönetimi
- PrimeNG ile Kullanıcı Dostu Arayüz
- Stripe ile Ödeme Entegrasyonu
- Auth0 ile Authentication
- Hem Backend hem de Frontend için Çoklu Dil Desteği
- Facade Deseni ile Bağımlılığı Azaltma
Kişisel Katkılar
- Projenin tüm sorumluluğu bana ait. Şu an hali hazırda evimde kurduğum fiziki sunucumda Ubuntu
- işletim sistemi üzerinde proje yayında bulunuyor. Projenin ihtiyaç duyduğu tüm süreçleri kendim
- yürütüyorum
Yayın / Deployment
Projeyi dockerize ettiğim için docker hub hesabımda image’ları bulunuyor. Projeyi git ile versiyonluyorum. Kaynak kodlar herkese açık biçimde GitHub’da bulunuyor. Yayınlama işlemini evimde bulunan fiziksel sunucumdan günün belirli saatlerinde yapıyorum. Yine uygulamanın ihtiyaç duyduğu domain ve dns yönetimini cloudflare ile sağlıyorum. Gerektiğinde lets encrypt ile ssl sertifikası sağlıyorum. Proje ile ilgili linkler aşağıda bulunuyor. Kaynak Kodlar: https://github.com/erengaygusuz/marketivo-frontend https://github.com/erengaygusuz/marketivo-backend Docker Image’ları: https://hub.docker.com/r/erengaygusuz/marketivo-frontend https://hub.docker.com/r/erengaygusuz/marketivo-backend Production Ortamı: https://marketivo.erengaygusuz.com.tr