ambalajcini.com, ambalaj ürünlerinin satışını yapan bir e-ticaret platformudur. Proje, modern web geliştirme teknolojileri kullanılarak, yüksek performans, güvenlik ve ölçeklenebilirlik hedeflenerek inşa edilmiştir. Geliştirme sürecinde Docker, TypeScript gibi ileri teknolojiler kullanılmış ve mikroservis mimarisi ile esnek bir yapı oluşturulmuştur.
- Docker: Geliştirme, test ve üretim ortamlarında tutarlılık sağlamak amacıyla kullanılan container teknolojisi.
- TypeScript: Daha güvenli ve ölçeklenebilir JavaScript yazılım geliştirme için kullanılan statik tip kontrolü sunan dil.
- Node.js: Sunucu tarafında JavaScript çalıştırma ve hızlı API geliştirme.
- Express.js: Minimalist ve esnek bir Node.js web uygulama çatısı.
- PostgreSQL: İlişkisel veritabanı yönetim sistemi, verilerin güvenli ve verimli bir şekilde saklanması için kullanılır.
- Redis: Önbellekleme ve oturum yönetimi için kullanılan bellek içi veri deposu.
- Nginx: Yük dengeleme ve ters proxy işlemleri için kullanılan yüksek performanslı web sunucusu.
- Docker Compose: Projenin tüm servislerinin container’lar içerisinde yönetilmesini sağlayan araç.
- Jest: Uygulamanın test edilmesinde kullanılan JavaScript test framework'ü.
- Webpack: JavaScript modüllerinin toplanması ve optimize edilmesi için kullanılan bundler.
- ESLint & Prettier: Kod kalitesini sağlamak ve tutarlılığı artırmak için kullanılan araçlar.
Projeyi çalıştırmak için aşağıdaki yazılımların bilgisayarınızda kurulu olması gerekmektedir:
- Docker
- Node.js (v14+)
- Docker Compose
- Git
-
Proje Deposu Klonlama
git clone https://github.com/kullanici-adiniz/ambalajcini.com.git cd ambalajcini.com
-
Docker Container'ları Başlatma
Aşağıdaki komut ile projenin tüm servislerini Docker üzerinde çalıştırın:
docker-compose up --build
Bu komut, Docker Compose kullanarak projede tanımlı servislerin (web, veritabanı, önbellek vb.) container’lar içinde çalıştırılmasını sağlayacaktır.
-
Uygulamaya Erişim
Tüm servisler başarıyla ayağa kalktıktan sonra, e-ticaret uygulamasına tarayıcı üzerinden
http://localhost:3000
adresinden ulaşabilirsiniz.
-
Bağımlılıkların Yüklenmesi
Projede kullanılan npm paketlerini yüklemek için:
npm install
-
Geliştirme Sunucusunu Başlatma
Aşağıdaki komut ile hot-reload özelliği ile çalışan geliştirme sunucusunu başlatın:
npm start
Bu komut, TypeScript ile yazılmış kaynak kodları derleyip, sunucuyu başlatacaktır.
-
Üretim için Derleme
Üretim ortamı için optimize edilmiş kodu derlemek için:
npm run build
Bu işlem, TypeScript kodlarını JavaScript'e çevirir ve performans iyileştirmeleri ile build klasörüne üretim için hazır hale getirir.
Testleri çalıştırmak için Jest kullanıyoruz. Tüm testleri çalıştırmak için:
npm test
Testler ile ilgili detaylı raporlama almak için:
npm run test:coverage
Projemize katkıda bulunmak istiyorsanız:
- Bu repoyu fork edin.
- Yeni bir dal oluşturun (
git checkout -b feature-branch
). - Değişikliklerinizi commit edin (
git commit -m 'Yeni özellik ekleme'
). - Dalınızı repoya push edin (
git push origin feature-branch
). - Bir Pull Request açın.
Bu proje, MIT Lisansı ile lisanslanmıştır.
Sorularınız veya geri bildirimleriniz için lütfen [email protected] adresinden bize ulaşın.