Vaka Çalışması

Scuba Brief: Dalış Hesaplayıcıları ve Rehberleri

Next.js ve Cloudflare Workers üzerinde 14 dalış hesaplayıcısı, Bühlmann ZHL-16C dekompresyon planlayıcısı ve hesapları kilitleyen doğrulama script'leri.

  • 14 hesaplayıcı
  • 2 dalış tablosu planlayıcısı
  • 5 hesap doğrulama script'i
  • ZHL-16C dekompresyon modeli

Amaç

Dalıcılar dalış öncesi hesaplarını çoğu zaman dağınık tablolarla, eski hesap makineleriyle ya da formülünü göstermeyen uygulamalarla yapıyor. Scuba Brief bu hesapları tek yerde, ücretsiz ve şeffaf sunmak için kuruldu: her araç kullandığı formülü ve sabitleri sayfada açıkça gösteriyor.

Site İngilizce ve global dalıcı kitlesini hedefliyor; kayıt gerektirmiyor.

Rolüm

Ürünün tamamını tek başıma geliştirdim: hesap kütüphaneleri, arayüz, içerik yönetim paneli, SEO altyapısı ve Cloudflare üzerindeki yayın hattı.

Teknik yapı

  • Next.js App Router ve TypeScript; arayüz Tailwind CSS ve Motion ile.
  • OpenNext adaptörüyle Cloudflare Workers üzerinde yayın: sayfa önbelleği R2'de, yeniden doğrulama etiketleri D1'de, kuyruk bir Durable Object'te.
  • Hesaplar React'ten bağımsız saf TypeScript modüllerinde: nitroks, trimiks, nitroks harmanlama, gaz planlama, SAC/RMV, tüp süresi, CNS/OTU oksijen maruziyeti, irtifa, ağırlık, uçuş öncesi bekleme, NDL ve dekompresyon.
  • Blog yazıları, etiketler, reklam alanları ve kullanıcı geri bildirimleri Supabase tabanlı bir yönetim panelinden yönetiliyor.
  • SEO için JSON-LD, sitemap, RSS, llms.txt ve IndexNow; içerik değişince ilgili sayfalar yeniden doğrulanıp arama motorlarına bildiriliyor.

Zor kısım

Dalış hesabında küçük bir yuvarlama hatası bile güvenlik sorunu demek. Bu yüzden her sonuç güvenli yöne yuvarlanıyor: maksimum çalışma derinliği (MOD) aşağı, eşdeğer hava derinliği (EAD) ve gereken gaz miktarı yukarı.

Dekompresyon planlayıcısı Bühlmann ZHL-16C modelini gradyan faktörleriyle (varsayılan 40/85) çalıştırıyor. Yüzey basıncı, su buharı basıncı ve deko gazına geçiş sınırı gibi sabitler, sayfadaki "nasıl hesaplanır" metniyle aynı kaynaktan geliyor; metin ile hesap birbirinden ayrışamıyor.

Hesapların sessizce bozulmaması için 5 ayrı doğrulama script'i yazdım. Sonuçları elle hesaplanmış vakalarla ve blog yazılarındaki tablolarla karşılaştırıyorlar; araç ya da yazı değişip birbirinden ayrışırsa kontrol kırılıyor.

Sonuç

Site scubabrief.com adresinde yayında. 14 hesaplayıcı, DECO 2000 ve US Navy dalış tablosu planlayıcıları ile dalış rehberleri sunuyor.

Kullanılan teknolojiler

Next.js · TypeScript · Tailwind CSS · Supabase · Cloudflare Workers · Motion

Siteyi Ziyaret Et