Öne Çıkan Yetenekler

Summary

Bu proje, bir lise öğrencisinin yedi ayda solo olarak birden fazla alanda olgunlaşmış mühendislik yetkinliklerini ortaya koymasını sergiler: modern web geliştirme, uç bilişim, algoritma araştırması, tersine mühendislik, test disiplini, mobil paketleme, DevOps ve ürün düşüncesi.

Tek Bakışta Yetkinlikler

AlanSergilenen Yetkinlikler
FrontendReact 18, TypeScript strict, Vite, Tailwind v4, shadcn/ui, Radix, Leaflet, React Router, RHF + Zod
BackendHono, Cloudflare Workers, workerd, KV/R2, CORS, rate limiting, cache stratejisi
DevOps / AltyapıCloudflare Pages, Workers, Wrangler, GitHub Actions, Devbox (Nix), GitOps
AlgoritmaDijkstra, McRAPTOR (Multi-criteria Round-Based Public Transit Routing), dataset derleme ve flat-array indeksleme
Tersine MühendislikResmi (dokümantasyonsuz) API uçlarının keşfi, sözleşme çıkarımı, TypeScript tip modellemesi
TestTDD, Vitest workspaces, Playwright, MSW, @cloudflare/vitest-pool-workers
MobilCapacitor 8, Android SDK 36, Gradle, APK build pipeline
MimariEdge-first, önbellek katmanlama, CI’da veri derleme, dataset manifest + integrity
KaliteBiome, strict typing, TDD disiplini, kod inceleme pratikleri
Ürün & UI/UXUX kararları, kullanıcı senaryoları, KPI belirleme, tipografi, renk teorisi, erişilebilirlik
AnalitikSelf-hosted Umami, cookieless + PII’siz telemetri tasarımı
LokalizasyonÇift dilli mimari (TR UI + EN kod), kültürel hassasiyet

Bu Yetkinliklerin Kazanılma Biçimi

Bu yetkinlikler geleneksel bir kursta veya staj programında değil, proje üretirken kazanıldı. Yedi ay süren süreçte her engel yeni bir öğrenme fırsatına dönüştü:

EngelKazanılan Yetkinlik
Resmi API dokümante değilTersine mühendislik + API sözleşmelerini TS tiplerine dökme
İlk UI tasarımı yetersizdiUI/UX prensipleri (tipografi, renk, bilişsel yük, erişilebilirlik)
“Nasıl Giderim?” yoktuTransit routing algoritmaları — Dijkstra’dan McRAPTOR’a
Şehir yoğunluğunda maliyet endişesiCloudflare ekosistemi (Pages, Workers, KV, Pages Functions)
Gizlilik + analitik gerilimiCookieless, self-hosted Umami kurulumu
CPU bütçesiStale-while-revalidate önbellek + CI’da dataset derleme
Web + Android pariteCapacitor 8 ile tek kod tabanı stratejisi

Kendi kendine öğrenme sinyali

Her satır bir öğrenme hikayesidir. Bu proje, karmaşık bir konuya eğitimsel destek olmadan, araştırarak ve uygulayarak ulaşabilme yetkinliğini doğrudan belgeler.

Derinlik — Üç Alanda İnceleme

1. Modern Frontend Mühendisliği

  • TypeScript strict mode tüm kod tabanında — any kullanılmıyor.
  • React 18 concurrent özellikler (Suspense, transitions) bilinçli kullanım.
  • Vite 7 üzerinde HMR ve bundle splitting.
  • Tailwind CSS v4’ün CSS-first yaklaşımıyla tema sistemi.
  • shadcn/ui ile fork edilebilir UI primitifleri üzerinde markalaşma.
  • Leaflet ile etkileşimli harita, cluster optimizasyonu.
  • React Router v6 üzerinde Türkçe kebab-case URL stratejisi.
  • react-hook-form + zod ile tip güvenli formlar.

2. Uç (Edge) Backend Mühendisliği

  • Hono üzerinde minimal, hızlı API.
  • Cloudflare Workers free-tier 10 ms CPU bütçesinde üretim kalitesi.
  • KV önbellek ile stale-while-revalidate deseni.
  • R2 ile CI’da derlenmiş veri kümelerinin yayını.
  • Service Binding ile Pages Functions → Worker iç mesh üzerinden çağrı.
  • Rate limiting (IP bazlı, KV üzerinden).
  • Integrity hash ile veri bütünlüğü doğrulama.

3. Test ve Kalite Disiplini

  • Test-Driven Development — tüm davranış değişiklikleri test-first.
  • Vitest Workspaces ile üç ayrı test ortamı (jsdom, node, workerd).
  • Playwright ile E2E; stublanmış backend.
  • Biome ile birleşik lint + format (Rust, hızlı).
  • Yeniden kullanılabilir test helper’ları ile boilerplate’siz test yazımı.
  • CI/CD üç basamaklı: typecheck → unit → e2e.

Yumuşak Beceriler

BeceriKanıt
Kendi kendine öğrenmeYedi ayda sıfırdan: Cloudflare Workers, RAPTOR ailesi, UI/UX, TDD, tersine mühendislik
Azim ve sabırİlk UI tasarımını çöpe atıp yeniden başlama cesareti
Tasarım düşüncesiÜrün hikayesi, UX kararları, kullanıcı senaryoları
Teknik yazımİki dilde, iki hedef kitle için tam belge kasaları
Karar alma disipliniADR’ler ile dokümante edilmiş mimari seçimler
İletişimAnlatımcı README + AGENTS.md + bu vitrin
Öğrenme hızıCloudflare Workers + workerd + Capacitor + Biome — hepsi modern ve hızlı öğrenilmiş
Ürün duyarlılığıÖzellikler sorunu çözer; “teknoloji için teknoloji” yok
Sivil sorumlulukYerel bir şehre, reklamsız ve ücretsiz, gerçek bir sorun çözümü sunma motivasyonu

Endüstri Standartlarına Hakimiyet

StandartHakimiyet
WCAG AABileşen seviyesinde uygulanıyor
Core Web VitalsHedeflendi ve izlendi
OWASP Top 10Saldırı yüzeyi analiz edildi (bkz. 08 Güvenlik ve Gizlilik)
KVKK / GDPRVeri minimizasyonu ile yapısal uyum
Semantic VersioningPaketler kilitli ve disiplinli
Conventional CommitsCommit mesajları disiplinli

Platform Mühendisliği

Proje, platform seviyesinde düşünmeyi de sergiler:

  • Tekrarlanabilir dev env (Devbox).
  • Tek araç lint/format (Biome).
  • Otomatik APK pipeline (Android Studio gerekmez).
  • AI-ajan dostu doc yapısı (AGENTS.md, CLAUDE.md, Cursor rules).
  • Zamanlanmış dataset pipeline’ı (planner-dataset.yml).

Pragmatik Tercihler

Quote

“En iyi kod, yazmadığım koddur. En iyi servis, çökmeden çalışan servistir. En iyi mimari, anlaşılabilir olandır.”

Proje, overengineering’ten kaçınan, ama gerektiğinde derinleşen bir karakter sergiler:

  • Küçük uygulama için Redux eklemez.
  • API’yi GraphQL yapmaz.
  • Kullanıcı hesabı istemez.
  • Ama: veri kümesi derleme pipeline’ı, CI/CD, test disiplini, edge mimarisi — gerektiğinde derinleşir.

Bu Proje Bir İşverene Ne Söyler?

Kanıt Kuvveti

  • Tam döngü mühendislik: fikir → tersine mühendislik → tasarım → backend → frontend → mobil → DevOps → belge.
  • Modern stack hakimiyeti: 2025-2026 seviyesinde araçlar.
  • Disiplinli süreç: TDD, CI/CD, ADR’ler.
  • İşletme bilinci: aylık sıfır dolar maliyetle çalışan üretim sistemi.
  • Kullanıcı odaklılık: gerçek bir şehir problemi çözümü.
  • Erken yaş potansiyeli: 11. sınıf öğrencisi olarak ilk büyük çaplı projede bu olgunluk.
  • Öğrenme refleksi: her engele “bunu nasıl çözerim?” ile yaklaşan, araştıran ve uygulayan bir profil.
  • İletişim: iki dilde, iki kitleye yönelik doküman kalitesi.

Devamı