Skip to content
Açık Kaynak Kütüphaneler

Açık Kaynak Kütüphaneler

Poemtry.com, çeşitli açık kaynak kütüphaneler, framework’ler, araçlar ve temalar kullanılarak geliştirilmiştir.

Bu sayfa, poemtry.com‘un frontend, backend, mobil ve dokümantasyon projelerinde kullanılan başlıca açık kaynak yazılımları listeler.


İçindekiler


Frontend

React

React, Poemtry.com kullanıcı arayüzünü oluşturmak için kullanılmaktadır.

  • Paket: react
  • Sürüm: 19.2.8
  • Kullanım amacı: Kullanıcı arayüzü geliştirme

İlgili paketler:

  • react-dom — React uygulamalarının DOM üzerinde çalıştırılması
  • react-icons — Arayüz ikonları

Next.js

Next.js, Poemtry.com’un temel web framework’üdür.

  • Paket: next
  • Sürüm: 16.3.0

Kullanım alanları:

  • Uygulama yönlendirmesi (routing)
  • Server-side rendering
  • Static generation
  • Production build işlemleri
  • Web uygulaması altyapısı

Chakra UI

Chakra UI, uygulama genelindeki kullanıcı arayüzü bileşenleri ve stil sistemi için kullanılmaktadır.

  • Paket: @chakra-ui/react
  • Sürüm: 3.36.1

Emotion

Emotion, uygulamanın stil altyapısının bir parçası olarak kullanılmaktadır.

  • Paket: @emotion/react
  • Sürüm: 11.14.0

Next Themes

Uygulamanın açık ve koyu tema gibi tema seçeneklerini yönetmek için kullanılmaktadır.

  • Paket: next-themes
  • Sürüm: 0.4.6

Apollo Client

Apollo Client, frontend’in GraphQL API ile iletişim kurmasını sağlamak için kullanılmaktadır.

  • Paket: @apollo/client
  • Sürüm: 4.2.10

Next.js entegrasyonu:

  • @apollo/client-integration-nextjs

Mobil / iOS

Poemtry.com’un iOS uygulamasında da çeşitli açık kaynak kütüphaneler kullanılmaktadır.

Apollo

Apollo, iOS uygulamasında GraphQL iletişimi için kullanılmaktadır.

  • Paket: Apollo
  • Sürüm: 2.1.2

Kullanım alanları:

  • GraphQL sorguları
  • GraphQL mutation işlemleri
  • API iletişimi
  • GraphQL verilerinin yönetimi

AppRouter

AppRouter, iOS uygulamasında uygulama içi yönlendirme ve navigasyon işlemleri için kullanılmaktadır.

  • Paket: AppRouter
  • Sürüm: 1.0.4

Kullanım alanları:

  • Uygulama içi navigasyon
  • Route yönetimi
  • Ekran geçişleri

KeychainSwift

KeychainSwift, iOS Keychain üzerinde hassas uygulama verilerinin güvenli bir şekilde saklanmasını kolaylaştıran bir kütüphanedir.

  • Paket: KeychainSwift
  • Sürüm: 24.0.0

Kullanım alanları:

  • Kimlik bilgilerinin güvenli şekilde saklanması
  • Authentication token’ları
  • Hassas verilerin kalıcı olarak saklanması

SDWebImage

SDWebImage, asenkron görsel yükleme ve görsel önbellekleme işlemleri için kullanılmaktadır.

  • Paket: SDWebImage
  • Sürüm: 5.21.7

Kullanım alanları:

  • Uzak görsellerin yüklenmesi
  • Görsel önbellekleme
  • Asenkron görsel indirme
  • Görsel işleme

SDWebImageSwiftUI

SDWebImageSwiftUI, SDWebImage kütüphanesinin SwiftUI entegrasyonunu sağlamaktadır.

  • Paket: SDWebImageSwiftUI
  • Sürüm: 3.1.4

Kullanım alanları:

  • SwiftUI içerisinde uzak görsellerin yüklenmesi
  • Görsel önbellekleme
  • Asenkron görsel görüntüleme

Backend ve API

Apollo Server

Apollo Server, GraphQL API’nin oluşturulması ve sunulması için kullanılmaktadır.

  • Paket: @apollo/server
  • Sürüm: 5.5.1

GraphQL

GraphQL, Poemtry.com’un temel API sorgulama teknolojisidir.

  • Paket: graphql
  • Sürüm: 17.0.2

Ek GraphQL araçları:

  • graphql-tag — GraphQL dokümanlarının parse edilmesi ve tanımlanması

GraphQL Code Generator

GraphQL Code Generator, GraphQL şemasından TypeScript tipleri ve resolver tipleri üretmek için kullanılmaktadır.

Kullanılan paketler:

  • @graphql-codegen/cli
  • @graphql-codegen/typescript
  • @graphql-codegen/typescript-resolvers

Bu yapı, GraphQL şeması, API resolver’ları ve TypeScript kodu arasındaki tip güvenliğinin korunmasına yardımcı olur.


Veritabanı ve Depolama

Cassandra Driver

Cassandra Driver, Cassandra veritabanı ile iletişim kurmak için kullanılmaktadır.

  • Paket: cassandra-driver
  • Sürüm: 4.9.0

Kullanım alanları:

  • Veritabanı bağlantıları
  • Sorgular
  • Veri saklama

AWS SDK for JavaScript

AWS SDK, Amazon S3 entegrasyonu için kullanılmaktadır.

Kullanılan paketler:

  • @aws-sdk/client-s3
  • @aws-sdk/s3-request-presigner

Kullanım alanları:

  • S3’e dosya yükleme
  • S3 nesnelerine erişim
  • Presigned URL oluşturma

DataLoader

DataLoader, özellikle GraphQL resolver’larında veri erişimini optimize etmek için kullanılmaktadır.

  • Paket: dataloader
  • Sürüm: 2.2.3

Kullanım alanları:

  • Veritabanı isteklerini gruplama
  • Tekrarlanan sorguları azaltma
  • GraphQL resolver performansını artırma

Doğrulama ve Yardımcı Araçlar

Zod

Zod, runtime şema doğrulaması ve tip güvenli veri doğrulaması için kullanılmaktadır.

  • Paket: zod
  • Sürüm: 4.4.3

Kullanım alanları:

  • API input doğrulama
  • Runtime veri doğrulama
  • Şema tanımlama

ULID

ULID, benzersiz ve sıralanabilir kimlikler (ID) oluşturmak için kullanılmaktadır.

  • Paket: ulid
  • Sürüm: 3.0.2

dotenv

dotenv, environment variable değerlerini yapılandırma dosyalarından yüklemek için kullanılmaktadır.

  • Paket: dotenv
  • Sürüm: 17.4.2

franc

franc, doğal dil tespiti için kullanılmaktadır.

  • Paket: franc
  • Sürüm: 6.2.0

Örneğin kullanıcı tarafından oluşturulan bir şiirin hangi dilde yazıldığının tahmin edilmesinde kullanılabilir.


UA Parser

UA Parser, kullanıcı agent bilgilerinin analiz edilmesi için kullanılmaktadır.

  • Paket: ua-parser-js
  • Sürüm: 2.0.10

Tespit edilebilen bilgiler:

  • Tarayıcı
  • İşletim sistemi
  • Cihaz türü

Negotiator

Negotiator, HTTP content negotiation işlemleri için kullanılmaktadır.

  • Paket: negotiator
  • Sürüm: 1.0.0

FormatJS Intl Localematcher

Kullanıcının dil tercihleri ile uygulamanın desteklediği diller arasında uygun locale seçimi yapmak için kullanılmaktadır.

  • Paket: @formatjs/intl-localematcher
  • Sürüm: 0.8.13

JS Cookie

Tarayıcı tarafındaki cookie işlemlerini yönetmek için kullanılmaktadır.

  • Paket: js-cookie
  • Sürüm: 3.0.8

Server Only

Next.js uygulamalarında modüllerin yalnızca server tarafında kullanılacağını belirtmek için kullanılmaktadır.

  • Paket: server-only
  • Sürüm: 0.0.1

E-posta

Nodemailer

Nodemailer, uygulama üzerinden e-posta göndermek için kullanılmaktadır.

  • Paket: nodemailer
  • Sürüm: 9.0.x

Kullanım alanları:

  • SMTP entegrasyonu
  • İşlemsel e-postalar
  • Sistem bildirimleri
  • Kullanıcı e-postaları

Nodemailer hem backend hem de frontend projelerinde kullanılmaktadır.


Geliştirme Araçları

TypeScript

TypeScript, proje genelinde statik tipleme ve tip güvenliği sağlamak için kullanılmaktadır.

  • Paket: typescript
  • Sürüm: 7.0.2

Kullanım alanları:

  • Frontend
  • Backend
  • GraphQL kod üretimi
  • Build süreçleri

Nodemon

Nodemon, kaynak kodda değişiklik olduğunda Node.js uygulamasını otomatik olarak yeniden başlatır.

  • Paket: nodemon
  • Sürüm: 3.1.14

Özellikle backend geliştirme sürecinde kullanılmaktadır.


Concurrently

Concurrently, birden fazla geliştirme sürecinin aynı anda çalıştırılmasını sağlar.

  • Paket: concurrently
  • Sürüm: 10.0.4

Örneğin backend geliştirme ortamında aynı anda:

  • GraphQL Code Generator
  • TypeScript compiler
  • Nodemon

çalıştırılabilir.


Node.js Type Definitions

Node.js API’leri için TypeScript tip tanımlarını sağlar.

  • Paket: @types/node

Bu paketler çalışma zamanında kullanılmaz; geliştirme sırasında TypeScript’e tip bilgisi sağlar.


Dokümantasyon

Hugo

Hugo, açık kaynak bir static site generator’dır.

Hugo, statik dokümantasyon ve içerik sayfalarının oluşturulması için kullanılmaktadır.

Kullanım alanları:

  • Markdown tabanlı dokümantasyon
  • Static site generation
  • Hızlı build süreçleri
  • Dokümantasyon siteleri

Hextra

Hextra, Hugo için geliştirilmiş açık kaynak bir dokümantasyon temasıdır.

Hugo tabanlı dokümantasyon sitesinin görsel tasarımını ve dokümantasyon yapısını sağlar.

Özellikleri:

  • Hugo entegrasyonu
  • Markdown tabanlı içerik
  • Responsive tasarım
  • Dokümantasyon odaklı navigasyon
  • Arama desteği
  • Tema özelleştirme

Tam Bağımlılık Listesi

Backend

Bağımlılıklar

PaketSürümKullanım Amacı
@apollo/server5.5.1GraphQL API sunucusu
@aws-sdk/client-s33.1105.0AWS S3 entegrasyonu
@aws-sdk/s3-request-presigner3.1105.0S3 presigned URL’leri
cassandra-driver4.9.0Cassandra veritabanı
dataloader2.2.3Veri erişimi optimizasyonu
dotenv17.4.2Environment variable yönetimi
franc6.2.0Dil tespiti
graphql17.0.2GraphQL
graphql-tag2.12.7GraphQL dokümanlarının işlenmesi
nodemailer9.0.4E-posta gönderimi
ua-parser-js2.0.10User-agent analizi
ulid3.0.2Benzersiz ID üretimi
zod4.4.3Runtime doğrulama
typescript7.0.2TypeScript

Geliştirme Bağımlılıkları

PaketSürümKullanım Amacı
@graphql-codegen/cli7.2.0GraphQL kod üretimi
@graphql-codegen/typescript6.1.0TypeScript kod üretimi
@graphql-codegen/typescript-resolvers6.1.0Resolver tiplerinin üretimi
@types/node26.1.2Node.js tipleri
@types/nodemailer8.0.1Nodemailer tipleri
concurrently10.0.4Paralel geliştirme süreçleri
nodemon3.1.14Geliştirme sunucusu yenileme

Frontend

Bağımlılıklar

PaketSürümKullanım Amacı
@apollo/client4.2.10GraphQL client
@apollo/client-integration-nextjs0.14.5Apollo + Next.js entegrasyonu
@chakra-ui/react3.36.1UI bileşenleri
@emotion/react11.14.0Stil yönetimi
@formatjs/intl-localematcher0.8.13Locale eşleştirme
js-cookie3.0.8Cookie yönetimi
negotiator1.0.0HTTP negotiation
next16.3.0Web framework
next-themes0.4.6Tema yönetimi
nodemailer9.0.5E-posta
react19.2.8UI kütüphanesi
react-dom19.2.8React DOM
react-icons5.7.0İkonlar
server-only0.0.1Server-only modüller
zod4.4.3Veri doğrulama

Geliştirme Bağımlılıkları

PaketSürümKullanım Amacı
@types/js-cookie3.0.6JS Cookie tipleri
@types/negotiator0.6.4Negotiator tipleri
@types/node26.2.0Node.js tipleri
@types/nodemailer8.0.1Nodemailer tipleri
@types/react19.2.18React tipleri
@types/react-dom19.2.4React DOM tipleri
typescript7.0.2TypeScript

Mobil / iOS

Bağımlılıklar

PaketSürümKullanım Amacı
Apollo2.1.2GraphQL client ve API iletişimi
AppRouter1.0.4Uygulama yönlendirmesi ve navigasyon
KeychainSwift24.0.0Güvenli Keychain depolama
SDWebImage5.21.7Asenkron görsel yükleme ve önbellekleme
SDWebImageSwiftUI3.1.4SDWebImage ve SwiftUI entegrasyonu

Bu kütüphaneler Poemtry.com’un iOS uygulamasında ağ iletişimi, navigasyon, güvenli veri saklama ve görsel işlemleri gibi temel işlevler için kullanılmaktadır.


Lisanslar

Poemtry.com, yukarıda listelenen açık kaynak yazılımları ilgili projelerin kendi lisansları kapsamında kullanmaktadır.

Her bağımlılık, kendi lisansına ve telif hakkı bildirimlerine tabidir.

Her bir bağımlılığın lisans bilgileri, production dağıtımından önce ilgili paketin metadata bilgileri ve resmi repository’si üzerinden doğrulanmalıdır.

Gerekli durumlarda ilgili lisans metinleri ve telif hakkı bildirimleri dağıtılan yazılımla birlikte sunulmalıdır.

Bu doküman yalnızca bilgilendirme amacı taşır ve üçüncü taraf yazılımların orijinal lisans koşullarının yerine geçmez.


Teşekkürler

Poemtry.com’un geliştirilmesini mümkün kılan açık kaynak projelerinin geliştiricilerine, katkıda bulunanlarına ve topluluklarına teşekkür ederiz.

Poemtry.com, açık kaynak topluluğunun sunduğu çalışmalar olmadan mümkün olmazdı.

Açık kaynak yazılımlar geliştiren ve sürdüren herkese teşekkürler. ❤️

Last updated on