📌 This project is about creating a website for the mighty Pong contest!
NestJS, Node.js tabanlı bir web uygulama çerçevesidir. TypeScript dilini kullanır ve kolay, ölçeklenebilir, yapılandırılabilir ve test edilebilir bir mimari sunar. Angular'dan esinlenmiştir. NestJS, sunucu tarafında web uygulamaları, mikroservisler ve ağ geçitleri oluşturmak için kullanılabilir. Ayrıca WebSocket gibi gerçek zamanlı uygulamalar için de kullanılabilir. Modüler bir yapıya sahiptir, bu da uygulamanın bölünebilirliğini ve birleştirilebilirliğini artırır. Express ve Fastify gibi Node.js HTTP sunucularının üzerine kurulmuştur. Bu sunucuların işlevselliğini korurken NestJS'in ek özelliklerinden de yararlanabilirsiniz. NestJS, diğer JavaScript veya TypeScript kütüphaneleri ve araçlarıyla kolayca entegre olabilir. Örneğin, TypeORM, Mongoose, Passport, GraphQL gibi yaygın kütüphanelerle uyumludur.
🔴 2.1) Ön Koşullar
Lütfen işletim sisteminizde Node.js'i (sürüm >= 12, v13 hariç) kur.
🔴 2.2) Brew İndir
git clone https://github.com/Homebrew/brew homebrew
🔴 2.3) NodeJS İndir
brew update
brew install node
node -v
npm -v
💠 NestJS'in çekirdek modüllerini ve Express platformunu kur daha sonra NestJS CLI aracını yükle 💠
npm i --save @nestjs/core @nestjs/common @nestjs/platform-express
npm i -g @nestjs/cli
🏳️ Yeni bir NestJS projesi oluşturmak için aşağıdaki komutu kullanın:
nest new project-name
Projeyi oluşturduktan sonra, proje dizinine gidin ve aşağıdaki komutula proje çalıştırın 🚩
cd project-name
npm run start
npm run start:dev => Watch Mode
Bu komut, Node.js sunucusunu başlatır ve NestJS uygulamanızı çalıştırır. Varsayılan olarak, uygulamanız http://localhost:3000
adresinde çalışır.
Bu adımları takip ederek, NestJS ile yeni bir proje oluşturabilirsiniz. Daha sonra, uygulamanızı ihtiyaçlarınıza göre özelleştirebilir ve geliştirebilirsiniz.
- Test adresi → http://localhost:3000
TypeScript, JavaScript dilinin bir üst kümesidir. JavaScript diline ek olarak, tür sistemine, sınıf tabanlı nesne yönelimli programlamaya ve diğer özelliklere sahiptir. TypeScript, Microsoft tarafından geliştirilmiştir ve açık kaynaklıdır. TypeScript, JavaScript'in temel özelliklerini korurken, dilin güvenliğini ve kod kalitesini artırmak için birçok özellik ekler. Bu özellikler arasında tür denetimi, nesne tabanlı programlama, arayüzler, sınıflar, jenerikler, dekoratörler ve modüller bulunur. TypeScript, JavaScript koduyla uyumlu olduğu için, mevcut JavaScript projelerine kolayca dahil edilebilir. Ayrıca, TypeScript kodu, TypeScript derleyicisi kullanılarak JavaScript koduna dönüştürülebilir. Bu sayede, TypeScript kodu tüm modern web tarayıcılarında ve Node.js gibi platformlarda çalışabilir. TypeScript, büyük ölçekli projelerin geliştirilmesi için özellikle yararlıdır. Kodun daha açık ve anlaşılır olması, hataları erken tespit etme ve daha iyi bir kod kalitesi sağlama gibi avantajları vardır. Ayrıca, TypeScript, Angular, React, Vue.js gibi popüler web framework'lerinin de altında yatan dil olarak kullanılır.
TypeScript, JavaScript'in bir üst kümesi olduğu için, birçok JavaScript framework'ü de TypeScript ile kullanılabilir. TypeScript'in ek özellikleri, özellikle büyük ölçekli projelerde kod kalitesini ve güvenliğini artırır. İşte TypeScript ile kullanılabilecek popüler JavaScript framework'lerinden bazıları:
-
Angular: Google tarafından geliştirilen Angular, TypeScript tabanlı bir web framework'üdür. Angular, büyük ölçekli web uygulamaları geliştirmek için tasarlanmıştır ve Angular CLI gibi araçlarla kolayca kullanılabilir.
NestJS Step-by-Step: Connecting NestJS with Angular (Part 4)
-
React: Facebook tarafından geliştirilen React, birçok geliştirici tarafından en popüler JavaScript framework'ü olarak kabul edilir. TypeScript ile birlikte kullanıldığında, React uygulamaları daha güvenli hale gelir ve hata ayıklama daha kolay hale gelir.
Modern Full-Stack Development with Nest.js, React, TypeScript, and MongoDB: Part 2
-
Vue: Vue.js, son zamanlarda popülerlik kazanan bir JavaScript framework'üdür. TypeScript ile birlikte kullanılabilir ve büyük ölçekli projelerde de kullanılmaktadır.
-
NestJS: NestJS, TypeScript tabanlı bir Node.js web framework'üdür. NestJS, sınıf tabanlı nesne yönelimli programlama prensiplerine dayanır ve Angular gibi bir yapıya sahiptir.
-
Express: Express, Node.js için popüler bir web framework'üdür. TypeScript ile birlikte kullanılabilir ve büyük ölçekli projelerde de başarılı bir şekilde kullanılmaktadır. (Frontend değil)
React, basit, verimli ve güçlü bir JavaScript kütüphanesidir. Bileşen tabanlı bir yaklaşım sunar ve kullanıcı arayüzünü parçalara ayırır. Her bileşen kendi mantığı ve görüntüsüyle çalışır. Bu yapı sayesinde kodunuz daha okunabilir ve yeniden kullanılabilir hale gelir.
React, Virtual DOM (sanal DOM) kullanarak performansı artırır. Sadece değişen bileşenleri güncelleyerek kaynakları minimumda kullanır. Ayrıca, bileşen ömür döngüsü yönetimiyle, bileşenlerin oluşturulması, güncellenmesi ve yok edilmesi aşamalarında istediğiniz işlemleri gerçekleştirebilirsiniz.
React, geniş bir ekosisteme ve aktif bir topluluğa sahiptir. Üçüncü taraf kütüphaneler, araçlar ve eklentilerle desteklenir. Ayrıca, zengin bir kaynak ve dokümantasyon arşivi vardır.
React, modern web uygulamalarını hızlı, etkili ve kaliteli bir şekilde geliştirmek için ideal bir seçimdir. Basitliği, verimliliği ve geniş topluluk desteğiyle öne çıkar.
- brew update →
Paket yükselt
- brew install postgresql →
PostgreSQL indir
- postgres --version →
Version kontrolü
- brew services start postgresql →
Servisi başlat
- brew services list →
Çalışan Servisleri göster
- psql →
PostgreSQL’e bağlan
- brew services stop postgresql →
PostgreSQL'i durdur
- npm install typeorm --save
- npm install reflect-metadata --save
- npm install @types/node --save-dev
- npm install pg --save
- npm add @nestjs/typeorm typeorm postgresql
``` import "reflect-metadata"; import { TypeOrmModule } from '@nestjs/typeorm'; ```
imports: [TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'dkarhan',
password: '1',
database: 'mydatabase',
entities: [],
synchronize: true,
}
🗝️ Abdullah Çetin 🧩 Deniz Karhan 🛡️ Metehan Erkol 🔭 Taha Haksal 🗡️ Furkan Tuncer