LoopBack Projesi Oluşturma ve Çalıştırma
LoopBack Nedir?
LoopBack, IBM tarafından geliştirilen, API ve mikro hizmetler oluşturmak için kullanılan oldukça ölçeklenebilir bir Node.js framework'üdür. Geliştiricilerin API oluşturmasını, test etmesini ve dağıtmasını kolaylaştıran güçlü araçlar ve özellikler sunar. LoopBack, model odaklı geliştirme (MDD) yaklaşımı ile hızlı bir şekilde RESTful API'ler üretebilen ve çeşitli veritabanı bağlantılarını destekleyen bir yapıya sahiptir.
LoopBack'in Temel Özellikleri ve Avantajları
- Model Odaklı Geliştirme: Modelleri tanımlayarak otomatik olarak RESTful API oluşturma.
- Çoklu Veritabanı Desteği: MongoDB, MySQL, PostgreSQL, MariaDB gibi birden fazla veritabanını destekler.
- Güçlü CLI Araçları: LoopBack CLI, proje oluşturmayı ve yönetmeyi kolaylaştıran zengin komutlar sunar.
- Zengin Eklenti ve Uzantılar: Üçüncü taraf hizmetler ve kütüphanelerle kolayca entegre olabilen zengin eklentilere ve uzantılara sahiptir.
- Yerleşik Kullanıcı Kimlik Doğrulama ve Yetkilendirme: Güçlü bir kullanıcı kimlik doğrulama ve yetkilendirme mekanizması sağlar.
LoopBack'i kullanarak, geliştiriciler yüksek performanslı ve ölçeklenebilir web uygulamaları ve API'ler hızla oluşturabilirler.
ServBay Kullanarak LoopBack Projesi Oluşturma ve Çalıştırma
Bu makalede, ServBay tarafından sağlanan Node.js ortamını kullanarak bir LoopBack projesi oluşturacak ve çalıştıracağız. Projeye erişimi sağlamak için ServBay'in 'ana bilgisayar' özelliğini kullanarak web sunucusunu ayarlayacağız ve ters proxy aracılığıyla projeye erişim sağlayacağız.
LoopBack Projesi Oluşturma
LoopBack CLI'yı Yükleme
İlk olarak, ServBay tarafından sağlanan Node.js ortamını kurduğunuzdan emin olun. Daha sonra aşağıdaki komutu kullanarak LoopBack CLI'yı küresel olarak yükleyin:
bashnpm install -g @loopback/cli
1Projeyi Başlatma
ServBay'in önerdiği web sitesi kök dizini olan
/Applications/ServBay/www
içinde yeni bir LoopBack projesi oluşturun:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Proje adı olarak
servbay-loopback-app
önerilir ve diğer seçenekleri ihtiyacınıza göre seçin.Bağımlılıkları Yükleme
Proje dizinine girin ve bağımlılıkları yükleyin:
bashcd servbay-loopback-app npm install
1
2
LoopBack Projesinin Çıktı İçeriğini Değiştirme
src/controllers/ping.controller.ts
Dosyasını Değiştirmesrc/controllers/ping.controller.ts
dosyasını açın ve içeriği "Hello ServBay!" şeklinde değiştirilmek için aşağıdaki gibi düzenleyin:typescriptimport {get} from '@loopback/rest'; export class PingController { constructor() {} @get('/ping') ping(): string { return 'Hello ServBay!'; } }
1
2
3
4
5
6
7
8
9
10
Geliştirme Moduna Geçiş
Geliştirme Sunucusunu Çalıştırma
Geliştirme sunucusunu belirli bir portta (örneğin: 8585) başlatın:
bashPORT=8585 npm start
1Bu, yerel olarak bir geliştirme sunucusu başlatacak ve 8585 portunu açacaktır.
ServBay Ana Bilgisayar Ters Proxy Yapılandırması
ServBay'in 'ana bilgisayar' özelliğini kullanarak, geliştirme sunucusuna erişimi sağlamak için bir ters proxy ekleyin. ServBay'in 'ana bilgisayar' ayarlarında yeni bir ters proxy ekleyin:
- Adı:
My first LoopBack dev site
- Alan Adı:
servbay-loopback-test.dev
- Ana Bilgisayar Türü:
Ters Proxy
- IP:
127.0.0.1
- Port:
8585
Ayrıntılı yapılandırma adımları için Nodejs geliştirme sitesini ekleme bağlantısına başvurabilirsiniz.
- Adı:
Geliştirme Moduna Erişim
Tarayıcıyı açın ve
https://servbay-loopback-test.dev/ping
adresine giderek projeyi gerçek zamanlı olarak görün. ServBay, özelleştirilmiş alan adları ve ücretsiz SSL sertifikaları desteği sağladığından, daha yüksek güvenlikten faydalanırsınız.
Üretim Versiyonunu Dağıtma
Üretim Ortamını Hazırlama
Projelerinizin üretim ortamında sorunsuz çalıştığından emin olun. Genellikle LoopBack projeleri özel bir yapı aşamasına ihtiyaç duymaz, ancak bazı ortam değişkenlerini ayarlamanız veya diğer yapılandırmaları yapmanız gerekebilir.
Üretim Sunucusunu Çalıştırma
Üretim sunucusunu belirli bir portta (örneğin: 8586) başlatın:
bashPORT=8586 NODE_ENV=production npm start
1ServBay Ana Bilgisayar Ters Proxy Yapılandırması
ServBay'in 'ana bilgisayar' özelliğini kullanarak, üretim sunucusuna erişimi sağlamak için yeni bir ters proxy ekleyin. ServBay'in 'ana bilgisayar' ayarlarında yeni bir ters proxy ekleyin:
- Adı:
My first LoopBack production site
- Alan Adı:
servbay-loopback-test.prod
- Ana Bilgisayar Türü:
Ters Proxy
- IP:
127.0.0.1
- Port:
8586
- Adı:
Üretim Moduna Erişim
Tarayıcıyı açın ve
https://servbay-loopback-test.prod
adresine giderek üretim versiyonunu görün. ServBay'in özelleştirilmiş alan adları ve ücretsiz SSL sertifikaları ile web siteniz daha yüksek güvenlik ve güvenilirlik kazanacaktır.
Veritabanı Bağlantısı
ServBay, Redis, MariaDB, PostgreSQL ve MongoDB veritabanı desteği sağlar. İşte bu veritabanlarına nasıl bağlanılacağına dair örnekler.
MongoDB Bağlantısı
@loopback/connector-mongodb
paketini yükleyin:bashnpm install --save @loopback/connector-mongodb
1Daha sonra projede veri kaynağını yapılandırın:
typescript// src/datasources/mongodb.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'mongodb', connector: 'mongodb', url: 'mongodb://localhost/servbay-loopback-app', host: 'localhost', port: 27017, user: '', password: '', database: 'servbay-loopback-app', }; export class MongodbDataSource extends juggler.DataSource { static dataSourceName = 'mongodb'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20Redis Bağlantısı
loopback-connector-redis
paketini yükleyin:bashnpm install --save loopback-connector-redis
1Daha sonra projede veri kaynağını yapılandırın:
typescript// src/datasources/redis.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'redis', connector: 'redis', url: 'redis://localhost:6379', }; export class RedisDataSource extends juggler.DataSource { static dataSourceName = 'redis'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15MariaDB Bağlantısı
@loopback/connector-mysql
paketini yükleyin:bashnpm install --save @loopback/connector-mysql
1Daha sonra projede veri kaynağını yapılandırın:
typescript// src/datasources/mariadb.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'mariadb', connector: 'mysql', url: '', host: 'localhost', port: 3306, user: 'root', password: 'password', database: 'servbay_loopback_app', }; export class MariaDbDataSource extends juggler.DataSource { static dataSourceName = 'mariadb'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20PostgreSQL Bağlantısı
@loopback/connector-postgresql
paketini yükleyin:bashnpm install --save @loopback/connector-postgresql
1Daha sonra projede veri kaynağını yapılandırın:
typescript// src/datasources/postgresql.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'postgresql', connector: 'postgresql', url: '', host: 'localhost', port: 5432, user: 'user', password: 'password', database: 'servbay_loopback_app', }; export class PostgresqlDataSource extends juggler.DataSource { static dataSourceName = 'postgresql'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Yukarıdaki adımlarla, LoopBack projesini başarıyla oluşturup çalıştırdınız ve ServBay'in sağladığı özellikler ile projenizi yönettiniz ve projeye çoklu veritabanı bağlantısı eklediniz.