Base
Base는 글로벌 금융을 위한 블록체인입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Kişisel finans uygulaması: hesaplar, işlemler, bütçeler, borçlar, yatırımlar, raporlar. Çevrimdışı öncelikli (offline-first) bir PWA'dır — veri önce tarayıcıdaki IndexedDB'ye yazılır, bağlantı olduğunda Supabase'e eşitlenir. Arayüz Türkçedir.README 전문 보기 ↗
Kişisel finans uygulaması: hesaplar, işlemler, bütçeler, borçlar, yatırımlar, raporlar. Çevrimdışı öncelikli (offline-first) bir PWA'dır — veri önce tarayıcıdaki IndexedDB'ye yazılır, bağlantı olduğunda Supabase'e eşitlenir. Arayüz Türkçedir.
Canlı: https://fintrack-os-ten.vercel.app
;/Windows-1254, XLSX), Borç/Alacak
sütunları, satır bazlı önizleme, mükerrer tespiti, geri alma.updatedAt), silinen kaydın dirilmemesi,
Realtime ile cihazlar arası canlı güncelleme.Next.js 16 (App Router, src/proxy.ts middleware) · React 19 · TypeScript · Tailwind v4 ·
Zustand · Dexie (IndexedDB) · Supabase (Auth, Postgres + RLS, Realtime, Storage) ·
Recharts · Vitest · Playwright.
Next.js 16 önceki sürümlerden farklıdır; kod yazmadan önce
node_modules/next/dist/docs/altındaki ilgili rehbere bakın (bkz.AGENTS.md).
Ücretli servis kullanılmaz. Fiyat kaynakları ücretsiz ve anahtarsızdır: fawazahmed0
currency-api (kurlar), Truncgil (Kapalıçarşı altını), TEFAS (fonlar), Yahoo Finance
(altın vadelisi, BIST, kripto). Hepsi sunucu tarafında (src/app/api/prices/*) çağrılır.
Gereksinim: Node 22, bir Supabase projesi.
npm ci
cp .env.example .env.local # değerleri doldurun
npm run dev # http://localhost:3000
supabase_schema.sql'i çalıştırın (tablolar, deleted_at, RLS).supabase/migrations/ altındaki dosyaları numara sırasıyla çalıştırın
(0001 → son). Hepsi idempotenttir; tekrar çalıştırmak güvenlidir.https://<adres>/auth/callback** (şifre sıfırlama ve e-posta onayı)Yeni migration'ı her zaman koddan ÖNCE uygulayın. İstemci yeni sütunları yazmaya başladığında sütun yoksa bulut yazımı reddedilir ve kayıt yalnız o cihazda kalır.
.env.local'a AUTH_BYPASS=1 eklenirse uygulama girişsiz açılır; veri yalnız o
tarayıcının IndexedDB'sinde kalır. Uçtan uca testler bu kipte çalışır. Üretimde yok sayılır.
| Komut | Ne yapar |
|---|---|
npm run dev | Geliştirme sunucusu |
npm run build / npm start | Üretim derlemesi / sunucusu |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm test | Vitest birim testleri |
npm run test:e2e | Playwright uçtan uca testleri (e2e/) |
CI (.github/workflows/ci.yml) her push ve PR'da tip kontrolü, lint, birim testleri,
üretim derlemesi ve uçtan uca testleri çalıştırır. Vercel deploy'u bundan bağımsızdır.
src/
app/(main)/… sayfalar (giriş gerektirir) app/api/… sunucu rotaları
components/… arayüz proxy.ts oturum + CSP
store/… Zustand store'ları (sayfaların tek veri kaynağı)
lib/db Dexie şeması (yerel kopya)
lib/sync outbox eşitleme motoru, realtime, onarım
lib/utils SAF hesaplar — store/DB bilmez, birim testli
supabase/migrations sıralı, idempotent SQL
audit/ güvenlik ve hata denetim raporları
localUpsert/localPatch/localBatch (Dexie + outbox) →
engine.ts kuyruğu Supabase'e iter. Silme her zaman deleted_at (tombstone).reconcilingPull bulut + yerel kopyayı birleştirir; çakışmada
updatedAt yeni olan kazanır (sunucuda keep_newer_row tetikleyicisi, 0016).error_logs tablosuna yazılır
(0020, kullanıcı yalnız ekler; Supabase panelinden okunur, 30 gün tutulur).lib/utils'tedir (akış toplamı, bütçe, ekstre, getiri…) ve
sayfalar arası tutarlılık için tek yerden çağrılır.