Bu proje NestJS (Backend) ve Angular (Frontend) uygulamalarını içeren bir monorepo yapısında geliştirilmiştir. Projeyi başlatmak için gerekli araçların kurulumunu yapmanız ve talimatları takip etmeniz yeterlidir.
Projeyi çalıştırmadan önce aşağıdaki araçların sisteminizde kurulu olduğundan emin olun:
-
Docker (Zorunlu)
- Docker'ın kurulu olmadığını düşünüyorsanız Docker İndirme Linki üzerinden yükleyebilirsiniz.
- Docker ve Docker Compose çalışır durumda olmalıdır.
-
pnpm (Node.js için hızlı ve verimli paket yöneticisi)
- pnpm yüklemek için aşağıdaki komutu kullanabilirsiniz:
npm install -g pnpm
-
Node.js (v18+)
- Node.js kurulu değilse Node.js İndirme Sayfası üzerinden yükleyebilirsiniz.
Proje dosyalarını bilgisayarınıza indirmek için git clone
komutunu kullanabilirsiniz:
Aşağıdaki komutu terminalde çalıştırarak projeyi klonlayın:
git clone https://github.com/jsdeveloperr/angular19-nestjs-monorepo.git
Proje dosyalarını indirdikten sonra proje klasörüne geçin:
cd angular19-nestjs-monorepo
Proje klasörünü klonladıktan sonra aşağıdaki adımları izleyin:
Tüm bağımlılıkları yüklemek için:
pnpm install:all
Docker kullanarak backend (NestJS) ve frontend (Angular) servislerini aynı anda çalıştırabilirsiniz.
pnpm start:docker
Eğer pnpm start:docker
çalışmazsa manuel olarak aşağıdaki komutla Docker servislerini başlatabilirsiniz:
pnpm docker:run
Docker servisleri başarılı şekilde çalıştığında aşağıdaki adreslere tarayıcıdan erişebilirsiniz:
-
Angular Frontend (Web Arayüzü):
-
NestJS Backend (API):
Başarılı bir kurulumdan sonra aşağıdaki URL’leri kullanabilirsiniz:
-
Kayıt Olma (Register):
- http://localhost:4200/register
- Buradan kullanıcı oluşturabilirsiniz.
-
Giriş Yapma (Login):
- http://localhost:4200/login
- Kayıt olduğunuz kullanıcı bilgileriyle giriş yapın.
-
Boyut Ekleme (Dimensions):
- Önce şu URL’ye gidin: http://localhost:4200/dimensions/create
- Aşağıdaki boyutları tek tek ekleyin:
Adı Uzunluk Genişlik Yükseklik Carton 12 12 12 Box 24 16 12 Pallet 40 48 60
-
Teklif Oluşturma (Create Offer):
- http://localhost:4200/offers/create
- Burada
Calculate
butonu ile teklif hesaplaması yapabilir ve ardındanSave
butonu ile kaydedebilirsiniz.
Aşağıdaki menüler arayüzde sağlanmıştır:
-
Offers:
- Offer List: Tüm teklifler listelenir.
- Create Offer: Yeni bir teklif oluşturabilirsiniz.
-
Package Types:
- Package Type List: Boyutların listesi.
- Create Package Type: Yeni bir boyut oluşturabilirsiniz.
-
Logout: Sistemde çıkış yapmak için kullanılır.
Proje dosyalarını ve Docker servislerini temizlemek için:
Docker servislerini, oluşturulan imajları ve volume'leri temizlemek için:
pnpm clean:docker
pnpm clean
pnpm cache:clean
Eğer Docker kullanmadan projeyi manuel çalıştırmak isterseniz:
pnpm start:nest
pnpm start:angular
pnpm start:all
-
Docker kurulu değilse proje çalışmaz. Lütfen Docker'ı yükleyin.
-
Eğer Linux veya MacOS kullanıyorsanız,
chmod
komutunun script dosyasına izin verdiğinden emin olun:chmod +x start.sh
-
Windows kullanıcıları için
start.bat
otomatik olarak çalışacaktır.
Proje içerisinde aşağıdaki dizinler ve dosyalar yer almaktadır:
.
├── packages/
│ ├── angular-frontend/ # Angular uygulaması (Frontend)
│ └── nest-backend/ # NestJS uygulaması (Backend)
├── start.sh # Docker servislerini başlatan script (Linux/MacOS)
├── start.bat # Docker servislerini başlatan script (Windows)
├── docker-compose.yml # Docker yapılandırması
├── Makefile # Yardımcı komutlar
├── package.json # Monorepo scriptleri
└── .gitignore # Git tarafından takip edilmeyecek dosyalar
- Kayıt Olun: http://localhost:4200/register
- Giriş Yapın: http://localhost:4200/login
- Boyutları Ekleyin: http://localhost:4200/dimensions/create
- Teklif Oluşturun: http://localhost:4200/offers/create
Eğer sorun yaşarsanız ya da bir hata ile karşılaşırsanız, lütfen geri bildirimde bulunun!