0% found this document useful (0 votes)
3 views26 pages

SafeStack Dev Prompts

Uploaded by

meta.bsn
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views26 pages

SafeStack Dev Prompts

Uploaded by

meta.bsn
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

APP 4 OF 4 — GEL■■T■RME PROMPTLARI

SafeStack

■laç & Takviye Etkile■im Denetleyici — Geli■tirme Promptlar■

Kullan■m Cursor, Claude Code veya GitHub Copilot ile kullan■n

Dil TypeScript (strict mode) — tüm dosyalar .tsx/.ts

Tarih Nisan 2026


■çindekiler

1. Proje Kurulumu
Expo managed workflow, eri■ilebilirlik zorunluluklar■

2. Veritaban■
SQL migration, SQLite yerel cache, TypeScript tipleri

3. ■laç Veritaban■
RxNorm API, OpenFDA API entegrasyonlar■

4. Etkile■im Analizi
Multi-drug analiz Edge Function, GPT-4o sentezi

5. OCR — ■i■e Tarama


Google Vision + GPT-4o etiket tan■ma pipeline

6. Arayüz Ekranlar■
Dashboard, stack yönetimi, zamanlama takvimi

7. PDF Doktor Raporu


Expo Print ile 5 sayfal■k profesyonel rapor

8. Ödeme Sistemi
RevenueCat, caregiver plan■, paywall

9. Master Prompt
Tüm sistemi tek seferde kuran tam prompt
1. Proje Kurulumu
Managed workflow, eri■ilebilirlik gereksinimleri

■ TIBB■ UYARI: Apple App Store sa■l■k uygulamas■ kurallar■ gere■i her ekranda "Bu uygulama t■bbi
tavsiye de■ildir, doktorunuza dan■■■n" uyar■s■ görünür olmal■d■r. Aksi hâlde uygulama reddedilebilir.

PROMPT — Proje ■skelet Kurulumu

Sen k■demli bir React Native + sa■l■k uygulamalar■ geli■tiricisisin.

"SafeStack" adl■ ilaç etkile■im denetleyici için proje iskeleti olu■tur.

TECH STACK:

- React Native + Expo SDK 51 (managed workflow)

- TypeScript strict mode

- NativeWind v4 (min font 16pt ZORUNLU — ya■l■ kullan■c■)

- Expo Router v3

- Supabase JS v2

- expo-sqlite (yerel ilaç cache — offline eri■im)

- Google Cloud Vision API (ilaç ■i■esi OCR)

- OpenAI GPT-4o (etkile■im sentezi + doktor raporu)

- OpenFDA API + RxNorm API (ücretsiz ABD devlet API'leri)

- Expo Print (PDF olu■turma)

- RevenueCat (abonelik)

ER■■■LEB■L■RL■K ZORUNLULUKLAR:

- Minimum font: 16px (hiçbir yerde alt■na dü■me)

- Minimum buton: 48x48px touch target (Apple HIG)

- Renk kontrast■: WCAG AA

- VoiceOver / TalkBack tam destek

- Dynamic Type deste■i (iOS)

KLASÖR YAPISI:

safestack/

■■■ app/
■ ■■■ (auth)/[Link]

■ ■■■ (tabs)/

■ ■ ■■■ _layout.tsx

■ ■ ■■■ [Link] (dashboard — stack'ler)

■ ■ ■■■ [Link] (ilaç ■i■esi tara)

■ ■ ■■■ [Link] (geçmi■ analizler)

■ ■■■ stack/

■ ■ ■■■ [id].tsx (stack detay + etkile■imler)

■ ■ ■■■ [Link] (yeni stack wizard)

■ ■■■ interaction/[id].tsx

■■■ components/

■ ■■■ ui/ (AccessibleButton, LargeText, SafeCard)

■ ■■■ stack/

■ ■ ■■■ [Link]

■ ■ ■■■ [Link]

■ ■ ■■■ [Link]

■ ■■■ interaction/

■ ■ ■■■ [Link]

■ ■ ■■■ [Link]

■ ■ ■■■ [Link]

■ ■■■ report/

■ ■■■ [Link]

■■■ lib/

■ ■■■ [Link]

■ ■■■ [Link]

■ ■■■ [Link]

■ ■■■ [Link]

■ ■■■ [Link]

■ ■■■ [Link]

■■■ hooks/

■ ■■■ [Link]

■ ■■■ [Link]
■ ■■■ [Link]

■■■ types/[Link]

■■■ supabase/

■■■ migrations/001_initial.sql

■■■ functions/analyze-interactions/[Link]

Her dosya eksiksiz içerikle — bo■ dosya b■rakma.


2. Veritaban■
Supabase PostgreSQL ■emas■ + SQLite yerel ilaç cache

PROMPT — SQL Migration (001_initial.sql)

supabase/migrations/001_initial.sql dosyas■n■ yaz.

TABLOLAR:

1. users:

id: uuid PRIMARY KEY

display_name: text NOT NULL

plan: text DEFAULT 'free' CHECK (plan IN ('free','pro','caregiver'))

font_size_preference: text DEFAULT 'normal' CHECK IN ('normal','large','xlarge')

created_at: timestamptz DEFAULT now()

2. stacks:

id: uuid PRIMARY KEY DEFAULT gen_random_uuid()

user_id: uuid REFERENCES users(id) ON DELETE CASCADE

name: text NOT NULL

person_label: text NULL -- bak■m veren: "Annem", "Babam"

color: text DEFAULT '#378ADD'

created_at: timestamptz DEFAULT now()

updated_at: timestamptz DEFAULT now()

3. stack_items:

id: uuid PRIMARY KEY DEFAULT gen_random_uuid()

stack_id: uuid REFERENCES stacks(id) ON DELETE CASCADE

user_id: uuid REFERENCES users(id) ON DELETE CASCADE

drug_name: text NOT NULL -- normalize edilmi■ jenerik isim

brand_name: text NULL

rxnorm_id: text NULL -- RxNorm CUI

dosage: text NULL -- örn: 10mg, 500mg


frequency: text NULL -- örn: günde bir, günde iki

item_type: text NOT NULL CHECK IN ('prescription','otc','supplement','vitamin')

notes: text NULL

added_at: timestamptz DEFAULT now()

4. interaction_results:

id: uuid PRIMARY KEY DEFAULT gen_random_uuid()

stack_id: uuid REFERENCES stacks(id) ON DELETE CASCADE

user_id: uuid REFERENCES users(id) ON DELETE CASCADE

drug_a: text NOT NULL

drug_b: text NOT NULL

severity: text NOT NULL CHECK IN ('none','minor','moderate','major','contraindicated')

mechanism: text NULL

plain_explanation: text NOT NULL

symptoms_to_watch: text NULL

timing_advice: text NULL

food_interaction: text NULL

data_source: text NOT NULL CHECK IN ('openfda','rxnorm','ai_synthesized')

analysed_at: timestamptz DEFAULT now()

UNIQUE(stack_id, drug_a, drug_b)

5. report_exports:

id: uuid PRIMARY KEY DEFAULT gen_random_uuid()

stack_id: uuid REFERENCES stacks(id)

user_id: uuid REFERENCES users(id)

exported_at: timestamptz DEFAULT now()

format: text DEFAULT 'pdf'

RLS: Tüm tablolarda [Link]() = user_id politikas■

INDEX'LER:

- stacks(user_id)
- stack_items(stack_id)

- interaction_results(stack_id, severity)

- stack_items(rxnorm_id)

PROMPT — SQLite Yerel ■laç Cache

lib/[Link] dosyas■n■ yaz. expo-sqlite kullan■r.

AMAÇ: Offline eri■im için 10.000+ yayg■n ilaç ad■ yerel cache'de.

SQLITE TABLO:

drugs_cache:

rxnorm_id TEXT PRIMARY KEY

generic_name TEXT NOT NULL

brand_names TEXT (JSON array string)

drug_class TEXT

item_type TEXT

last_updated INTEGER (unix timestamp)

FONKS■YONLAR:

- initDatabase(): Uygulama aç■l■nca cache tablosunu olu■tur

- searchDrugs(query: string, limit: number): Drug[]

generic_name LIKE %query% OR brand_names LIKE %query%

Önce tam e■le■me, sonra k■smi

- getDrugByRxNorm(rxnormId: string): Drug | null

- upsertDrug(drug: Drug): void

- clearOldCache(olderThanDays: number): void

BA■LANGIÇ VER■S■:

- assets/drugs_seed.json: 500 en yayg■n ilaç/takviye

(Aspirin, Metformin, Lisinopril, Vitamin D, Magnezyum vb.)

- ■lk aç■l■■ta SQLite'a yükle

- Arka planda RxNorm'dan daha fazla veri indir


hooks/[Link]:

- searchQuery: string

- results: DrugSearchResult[]

- isSearching: boolean

- search(query): debounced 300ms

- Önce SQLite → yoksa RxNorm API → sonucu cache'e yaz


3. ■laç Veritaban■ API'leri
RxNorm ve OpenFDA entegrasyonlar■ — ikisi de ücretsiz ABD devlet API'si

PROMPT — RxNorm & OpenFDA API Entegrasyonu

lib/[Link] dosyas■n■ yaz.

BASE URL: [Link]

FONKS■YONLAR:

1. searchByName(name: string): RxNormResult[]

GET /[Link]?name={name}

Response: rxnormId, name, tty, synonyms

Cache'e yaz

2. getRxCUI(drugName: string): string | null

GET /[Link]?name={name}&search=2

En iyi e■le■me döndür, bulamazsa null

3. getInteractions(rxcuiList: string[]): RxNormInteraction[]

GET /interaction/[Link]?rxcuis={rxcui1+rxcui2+...}

Tüm ilaç çiftleri için etkile■im döndür

4. getDrugDetails(rxcui: string): DrugDetail

GET /rxcui/{rxcui}/[Link]

ERROR HANDLING:

- Rate limiting: 20 istek/saniye s■n■r■

- Retry logic: 3 deneme, exponential backoff

- Network hatas■: cache'den geri dön

- Timeout: 10 saniye

T■PLER:
interface RxNormResult { rxcui, name, tty, synonym }

interface RxNormInteraction { drug_a, drug_b, severity, description, source }

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

lib/[Link] dosyas■n■ yaz.

BASE URL: [Link]

FONKS■YONLAR:

1. getDrugInteractions(drugName: string): OpenFDAInteraction[]

GET /[Link]?search=drug_interactions:{drugName}&limit=5

drug_interactions field'■ndan parse et

2. getDrugWarnings(rxcui: string): string[]

GET /[Link]?search=set_id:{rxcui}

warnings + boxed_warnings döndür

3. searchDrugLabel(query: string): DrugLabel[]

Autocomplete için brand/generic isim arama

PARSING:

- OpenFDA response düzensiz düz metin içerir

- Regex ile ilaç isimlerini ç■kar

- AI sentezi için ham metin olarak tut


4. Etkile■im Analiz Sistemi
Multi-drug pipeline: RxNorm → OpenFDA → GPT-4o sentezi

PROMPT — Etkile■im Analiz Edge Function

supabase/functions/analyze-interactions/[Link] Edge Function yaz.

G■R■■: { stackId: string, drugNames: string[], userId: string }

AKI■ (6 ad■m):

ADIM 1 — RxNorm normalize:

- Her ilaç ismi için getRxCUI() ça■■r

- rxcui_map: { drugName → rxcui } olu■tur

ADIM 2 — Tüm çiftler üret:

- n*(n-1)/2 kombinasyon (örn: 5 ilaç → 10 çift)

- 15+ ilaç ise batch'lere böl

ADIM 3 — RxNorm etkile■im sorgusu:

- GET [Link]/REST/interaction/[Link]?rxcuis=...

- Bulunan etkile■imleri kaydet

ADIM 4 — OpenFDA eksik çiftler için:

- RxNorm'da veri olmayan çiftler için label aramas■

- drug_interactions alan■ndan parse et

ADIM 5 — GPT-4o sentezi (veri yetersiz çiftler):

Prompt:

"Sen klinik eczac■s■n. ■u ilaç çifti için analiz yap:

■laç A: {drugA} ({rxcuiA})

■laç B: {drugB} ({rxcuiB})

Bilinen veri: {existingData}


SADECE JSON döndür:

severity: 'none'|'minor'|'moderate'|'major'|'contraindicated',

mechanism: string (max 30 kelime),

plain_explanation: string (jargonsuz, max 50 kelime),

symptoms_to_watch: string (max 30 kelime),

timing_advice: string|null,

food_interaction: string|null

}"

ADIM 6 — Kaydet:

- interaction_results upsert (çift ba■■na tek kay■t)

- data_source: 'rxnorm' | 'openfda' | 'ai_synthesized'

ÇIKTI:

total_pairs: number,

major_count: number, moderate_count: number,

minor_count: number, contraindicated_count: number,

interactions: InteractionResult[]

PROMPT — Etkile■im Sonuç Ekran■ & Bile■enler

hooks/[Link] ve sonuç bile■enlerini yaz.

hooks/[Link]:

- interactions: InteractionResult[]

- isAnalyzing: boolean

- lastAnalyzedAt: Date | null

- analyzeStack(stackId): Edge Function ça■■r

- getInteractionsByStack(stackId): Supabase'den çek (severity DESC)

- getSeveritySummary(): { major, moderate, minor, none, contraindicated }


- needsReanalysis(stackId): bool (son 24 saatte de■i■iklik var m■)

components/interaction/[Link]:

- Renkler (min 32px yükseklik — ya■l■ kullan■c■):

contraindicated → k■rm■z■, "KONTREND■KE" (büyük)

major → turuncu, "MAJÖR"

moderate → sar■, "ORTA"

minor → mavi, "M■NÖR"

none → ye■il, "ETK■LE■■M YOK"

components/interaction/[Link]:

- SeverityBadge üstte

- ■ki ilaç ismi (büyük, bold)

- plain_explanation (16px)

- Geni■letilebilir bölüm:

mechanism, symptoms_to_watch, timing_advice, food_interaction

- "Doktora Sor" önerilen soru butonu

app/stack/[id].tsx:

- Severity özet banner (majör varsa k■rm■z■ uyar■)

- Etkile■im listesi: majörden minöre

- Zamanlama takvimi görünümü

- "Doktor Raporu Olu■tur" büyük buton (min 56px yükseklik)


5. OCR — ■laç ■i■esi Tarama
Google Cloud Vision + GPT-4o ile etiket tan■ma pipeline

PROMPT — OCR ■laç ■i■esi Tarama

app/(tabs)/[Link] ve OCR pipeline'■n■ yaz.

KAMERA EKRANI (ya■l■ kullan■c■ dostu UI):

- Büyük butonlar (min 60px yükseklik)

- "Etiketi tam çerçeve içine al" yard■mc■ görsel

- Flash otomatik aç■l■r (ilaç ■i■eleri küçük yaz■l■)

- "Galeri" ikinci seçenek

- Accessibility: her buton accessibilityLabel + accessibilityHint

lib/[Link] — extractDrugLabel(imageBase64: string): DragLabelData

ADIM 1: Google Vision TEXT_DETECTION

Endpoint: [Link]

Feature: TEXT_DETECTION

ADIM 2: GPT-4o ile yap■land■r:

Prompt: "Bu ilaç etiketi OCR metninden ■unlar■ ç■kar:

{ drug_name, brand_name, dosage, frequency, item_type, rxnorm_suggestion }

Sadece JSON döndür, ba■ka hiçbir ■ey yazma."

ADIM 3: RxNorm ile rxcui bul (getRxCUI ça■r■s■)

ONAY EKRANI (scan sonras■):

- "Bu do■ru mu?" ba■l■■■ (büyük font)

- Bulunan ilaç ad■ (22px bold)

- Dozaj ve s■kl■k

- ■laç tipi seçici (4 büyük buton)

- "Evet, Ekle" + "Hay■r, Düzenle" butonlar■


MANUEL EKLEME ALTERNAT■F■:

- Arama çubu■u (otomatik tamamlama — SQLite + RxNorm)

- "Taramak zor mu? Elle gir" ba■lant■s■


6. Arayüz Ekranlar■
Dashboard, stack yönetimi, zamanlama takvimi — eri■ilebilir tasar■m

PROMPT — Dashboard & Stack Yönetimi

app/(tabs)/[Link] ve stack yönetimi ekranlar■n■ yaz.

TASARIM PRENS■PLER■ (55+ ya■ hedef kitle):

- Her metin min 16px, ba■l■klar min 20px

- Butonlar min 48x48px touch target

- Yüksek kontrast (beyaz arka plan, koyu metin)

- Basit navigasyon, karma■■k jest yok

- Her ekranda t■bbi disclaimer görünür

ANA DASHBOARD:

- "Merhaba {display_name}" selamlama

- Stack listesi (her biri kart):

* Stack ad■ (büyük, bold)

* person_label: "Senin", "Annen" vb.

* ■laç say■s■

* Son analiz tarihi

* Etkile■im uyar■s■ (k■rm■z■ badge: "2 önemli etkile■im")

* "Analiz Et" butonu

- "Yeni Stack Olu■tur" büyük CTA (renkli, göze çarpan)

components/stack/[Link]:

- Renkli sol kenar ([Link])

- person_label büyük ve net

- Etkile■im uyar■s■ k■rm■z■

app/stack/[Link] (wizard):

- Ad■m 1: Kimin için? (büyük radyo butonlar)

- Ad■m 2: ■sim ver


- Ad■m 3: Renk seç (6 seçenek, büyük daireler)

- Ad■m 4: ■lk ilac■ ekle CTA

components/stack/[Link] (bottom sheet):

- "■i■eyi Tara" / "■sim Yaz" büyük seçimler

- Arama sonuçlar■: 50px yükseklik liste ö■eleri

- Seçince: dozaj ve s■kl■k formu

- Tip: 4 büyük buton (Reçete / OTC / Takviye / Vitamin)

lib/[Link] (zamanlama hesab■):

- frequency'yi parse et: "günde iki" → sabah + ak■am

- timing_advice uygula: "2 saat arayla" → slot ayarla

- Çak■■an ilaçlar■ farkl■ slotlara ta■■

- Sabah / Ö■le / Ak■am / Gece görünümü


7. PDF Doktor Raporu
Expo Print ile 5 sayfal■k profesyonel t■bbi rapor

PROMPT — PDF Doktor Raporu Sistemi

lib/[Link] dosyas■n■ yaz.

Expo Print ile doktor ziyareti için PDF olu■turur.

generateDoctorReportHTML(data: ReportData): string

G■R■■ OBJESI:

- personLabel: string

- stackItems: StackItem[]

- interactions: InteractionResult[]

- timingSchedule: TimingSlot[]

- generatedAt: Date

- doctorQuestions: string[] (GPT-4o üretimi)

HTML ÇIKTI (5 bölüm):

■■ SAYFA 1: ÖZET ■■

[SafeStack logosu placeholder] + "■laç Etkile■im Raporu"

Hasta: {personLabel} | Tarih: {generatedAt}

Toplam ilaç: X | Majör: Y | Orta: Z | Minör: W

Renk kodlu önem band■

■■ SAYFA 2: TAM ■LAÇ L■STES■ ■■

Tablo: ■laç Ad■ | Dozaj | S■kl■k | Tür | Eklenme

Stil: border 1px solid #ccc, font serif, bask■ dostu

■■ SAYFA 3: ETK■LE■■M ANAL■Z■ ■■

Önce majör (k■rm■z■ ba■l■k), sonra orta, minör

Her çift için:


■laç A × ■laç B | ■iddet badge

Mekanizma (teknik — doktor okuyacak)

Belirtiler

■■ SAYFA 4: ZAMANLAMA TAKV■M■ ■■

Sabah / Ö■le / Ak■am / Gece tablosu

Her slot: ilaç ad■, dozaj, özel notlar

■■ SAYFA 5: DOKTORA SORULAR ■■

GPT-4o ile üret (lib/[Link]):

generateDoctorQuestions(stackItems, interactions):

Prompt: "Bu ilaç listesi ve etkile■im verisine göre

doktora sorulacak 5 önemli soru üret.

K■sa ve net sorular, JSON array döndür.

Veri: {JSON}"

PRINT ÇA■RISI:

const { uri } = await [Link]({ html: reportHTML })

await [Link](uri)

ST■L:

- Beyaz arka plan, siyah metin (bask■ dostu)

- Tablo: border-collapse, 1px solid #ccc

- Font: Georgia, serif

- Sayfa marjini: 2.5cm

- Her sayfada: "Bu rapor SafeStack ile olu■turulmu■tur. T■bbi tavsiye de■ildir."
footer
8. Ödeme Sistemi
RevenueCat — sa■l■k uygulamalar■ en yüksek ödeme isteklili■ine sahip segment

PROMPT — RevenueCat & Paywall

lib/[Link] ve paywall sistemini yaz.

PLANLAR (RevenueCat Dashboard'da tan■mla):

- safestack_free (ücretsiz)

- safestack_pro_monthly ($6.99/ay)

- safestack_caregiver_monthly ($9.99/ay)

- safestack_annual ($54/y■l)

FREEM■UM KISITLAMALARI:

- Free: 1 stack, max 5 ilaç, temel kontrol, PDF yok

- Pro: S■n■rs■z stack ve ilaç, tam analiz, PDF rapor, zamanlama, yiyecek

- Caregiver: 5 stack (farkl■ ki■iler için), de■i■iklik uyar■lar■, dashboard

- Annual: Pro + %36 indirim

hooks/[Link]:

- canCreateStack(): boolean (free: max 1)

- canAddItem(): boolean (free: max 5)

- canExportPDF(): boolean

- canSeeFoodInteractions(): boolean

- canUseCaregiver(): boolean

- showPaywall(reason: string): void

components/[Link] (ya■l■ kullan■c■ dostu):

- BÜYÜK FONT (min 18px)

- Basit dil: "Tüm ilaçlar■n■ kontrol et"

- 3 plan, her biri neyi kaps■yor net belirt

- Y■ll■k plan■ vurgula

- "Aileni de koru" → Caregiver plan■


- Gizlilik güvencesi: "Verileriniz asla sat■lmaz"

- Restore Purchases butonu (büyük, görünür)

K■s■tlama tetikleyicileri:

- 2. stack olu■turulunca → paywall

- 6. ilaç eklenince → paywall

- PDF rapor butonuna bas■l■nca → paywall

- Caregiver özelli■i kullan■l■nca → paywall

RevenueCat webhook → Supabase Edge Function → [Link] güncelle


9. Master Prompt
Tüm SafeStack sistemini tek seferde kuran tam prompt

Cursor Composer veya Claude Code'da yeni session aç■n, a■a■■daki promptu yap■■t■r■n. Her dosya eksiksiz
teslim edilecektir.

MASTER PROMPT — Tüm SafeStack Sistemi

Sen k■demli bir React Native + sa■l■k uygulamalar■ geli■tiricisisin.

"SafeStack" adl■ ilaç ve takviye etkile■im denetleyici uygulamas■n■ tam in■a et.

■■■ UYGULAMA AMACI ■■■

Birden fazla ilaç/takviye kullanan ki■ilerin (özellikle 55+ ya■)

ilaç etkile■imlerini kontrol edebildi■i, doktor için PDF rapor

olu■turabildi■i mobil uygulama.

■■■ TECH STACK ■■■

• React Native + Expo SDK 51 (managed workflow)

• TypeScript strict mode

• NativeWind v4 (min 16px font ZORUNLU)

• Expo Router v3

• Supabase (auth + PostgreSQL + edge functions)

• expo-sqlite (yerel ilaç cache — offline)

• RxNorm API (ilaç normalize + rxcui) — ücretsiz

• OpenFDA API (ABD ilaç etkile■im veritaban■) — ücretsiz

• Google Cloud Vision API (ilaç ■i■esi etiketi OCR)

• OpenAI GPT-4o (etkile■im sentezi + doktor sorular■)

• Expo Print (PDF olu■turma)

• RevenueCat (abonelik)

■■■ ER■■■LEB■L■RL■K ZORUNLULUKLAR ■■■

- Min font: 16px (istisna yok)

- Min buton: 48x48px touch target

- WCAG AA kontrast
- VoiceOver/TalkBack deste■i

- Her ekranda t■bbi disclaimer

■■■ VER■TABANI TABLOLARI ■■■

users: id, display_name, plan(free/pro/caregiver), font_size_preference

stacks: id, user_id, name, person_label, color

stack_items: id, stack_id, user_id, drug_name, brand_name,

rxnorm_id, dosage, frequency, item_type

interaction_results: id, stack_id, user_id, drug_a, drug_b,

severity, mechanism, plain_explanation, symptoms_to_watch,

timing_advice, food_interaction, data_source

report_exports: id, stack_id, user_id, exported_at, format

Tüm tablolarda RLS.

■■■ ETK■LE■■M ANAL■Z PIPELINE ■■■

Edge Function (analyze-interactions):

1. RxNorm: her ilaç → rxcui bul

2. RxNorm API: tüm ilaç çiftleri için etkile■im sorgula

3. OpenFDA: RxNorm'da eksik kalan çiftler

4. GPT-4o: veri yetersiz çiftler için klinik eczac■ sentezi

5. interaction_results upsert

6. Özet döndür: major/moderate/minor/contraindicated say■lar■

■■■ OCR PIPELINE ■■■

1. Kamera / galeri → görsel

2. Google Vision TEXT_DETECTION

3. GPT-4o → drug_name, dosage, frequency, item_type

4. RxNorm → rxcui e■le■tir

5. Kullan■c■ya onay ekran■

■■■ EKRANLAR ■■■

(auth)/[Link]
(tabs)/[Link] — stack dashboard, etkile■im uyar■lar■

(tabs)/[Link] — kamera + OCR ak■■■

(tabs)/[Link] — geçmi■ analizler

stack/[Link] — wizard: kimin için, isim, renk, ilk ilaç

stack/[id].tsx — detay, etkile■im listesi, zamanlama

interaction/[id].tsx — tek etkile■im detay

■■■ PDF RAPOR (5 SAYFA) ■■■

Sayfa 1: Özet (ki■i, tarih, say■lar)

Sayfa 2: ■laç listesi tablosu

Sayfa 3: Etkile■im analizi (majörden minöre)

Sayfa 4: Günlük zamanlama takvimi

Sayfa 5: AI üretimi "Doktora sorun" sorular■

Footer: "Bu rapor SafeStack ile olu■turulmu■tur. T■bbi tavsiye de■ildir."

■■■ FREEM■UM ■■■

Free ($0): 1 stack, max 5 ilaç, PDF yok

Pro ($6.99/ay): S■n■rs■z, tam analiz, PDF, zamanlama

Caregiver ($9.99): 5 ki■i stack'i, bak■m veren paneli

Annual ($54/y■l): Pro + %36 indirim

■■■ TIBB■ DISCLAIMER (HER EKRANDA) ■■■

"Bu uygulama t■bbi tavsiye de■ildir.

De■i■iklik yapmadan önce doktorunuza veya eczac■n■za dan■■■n."

■■■ ÇIKTI (eksiksiz teslim et) ■■■

1. Tüm klasör yap■s■ ve dosya içerikleri

2. SQL migration (RLS dahil)

3. Supabase Edge Function (analyze-interactions — tam)

4. lib/: [Link], [Link], [Link], [Link], [Link]

5. hooks/: [Link], [Link], [Link]

6. Tüm UI bile■enleri (eri■ilebilir, büyük font)


7. PDF rapor HTML template (5 sayfa)

8. Paywall sistemi

TypeScript strict, production-ready, TODO yok, disclaimer her ekranda.

You might also like