Tıbbi laboratuvar test sonuçlarını yaş gruplarına göre değerlendiren mobil uygulama
Özellikler • Kurulum • Kullanım • Mimari • Katkıda Bulunma
- Hakkında
- Özellikler
- Teknolojiler
- Kurulum
- Kullanım
- Proje Mimarisi
- Ekran Görüntüleri
- Firebase Yapılandırması
- Katkıda Bulunma
- Lisans
LabNet, çocuklar için immünoglobulin (IgA, IgM, IgG ve alt grupları) test sonuçlarını yaş gruplarına göre değerlendiren, Firebase tabanlı bir mobil sağlık uygulamasıdır.
Uygulama, laboratuvar test sonuçlarını referans değerlerle karşılaştırarak sonuçların Normal, Düşük veya Yüksek olduğunu gösterir ve kullanıcıların geçmiş test kayıtlarını takip etmelerini sağlar.
- Kullanıcı Yönetimi: Admin ve standart kullanıcı rolleri
- Test Değerlendirme: Yaş gruplarına göre otomatik analiz
- Geçmiş Takibi: Önceki test sonuçlarıyla karşılaştırma
- Veri Güvenliği: Firebase Authentication ile güvenli oturum yönetimi
- Referans Kılavuzları: Bilimsel kaynaklara dayalı referans değerleri
- ✅ Giriş Yapma ve Kayıt Olma - Firebase Authentication ile güvenli kimlik doğrulama
- 📊 Test Sonucu Girişi - TC Kimlik No ve yaş bilgisi ile test değerlerini kaydetme
- 📈 Sonuç Analizi - Referans değerlere göre otomatik değerlendirme (Normal/Düşük/Yüksek)
- 📝 Geçmiş Görüntüleme - Önceki test kayıtlarını listeleme ve detaylı inceleme
- 🔄 Test Karşılaştırma - En son iki test sonucunu karşılaştırma
- 🏠 Bilgilendirme Ekranı - İmmünoglobulin türleri hakkında eğitici içerik
- ⚙️ Profil Yönetimi - Kullanıcı bilgilerini görüntüleme ve çıkış yapma
- 📋 Kullanıcı Listesi - Tüm kayıtlı kullanıcıları görüntüleme
- 🗂️ Kullanıcı Testleri - Belirli bir kullanıcının tüm test kayıtlarını görüntüleme
- 🧪 Hızlı Test Girişi - Seçili kullanıcı için hızlı test kaydı oluşturma
- 📖 Referans Kılavuzları - Test kılavuzlarını görüntüleme
- ➕ Kılavuz Oluşturma - Yeni referans kılavuzları ekleme
- React Native
0.76.5- Mobil uygulama geliştirme framework'ü - Expo
~52.0.20- React Native geliştirme platformu - React Navigation
7.x- Ekranlar arası navigasyon- Stack Navigator - Sayfa geçişleri
- Bottom Tabs Navigator - Alt menü navigasyonu
- Firebase Authentication - Kullanıcı kimlik doğrulama
- Firebase Firestore - NoSQL veritabanı (test kayıtları ve kullanıcı verileri)
- React Native Vector Icons - İkon kütüphanesi
- React Native Chart Kit - Grafik ve görselleştirme
- Victory Native - İleri düzey veri görselleştirme
- React Native Gesture Handler - Dokunmatik etkileşimler
- React Native Reanimated - Performanslı animasyonlar
- React Native SVG - SVG grafik desteği
- Node.js (v16 veya üzeri)
- npm veya yarn
- Expo CLI (
npm install -g expo-cli) - Expo Go uygulaması (iOS/Android cihazınızda)
-
Projeyi Klonlayın
git clone https://github.com/emreetumer/LabNet.git cd LabNet -
Bağımlılıkları Yükleyin
npm install # veya yarn install -
Firebase Yapılandırması
firebaseConfig.example.jsdosyasınıfirebaseConfig.jsolarak kopyalayın:cp firebaseConfig.example.js firebaseConfig.js
Ardından
firebaseConfig.jsdosyasını kendi Firebase proje bilgilerinizle güncelleyin:const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID" };
-
Uygulamayı Başlatın
npm start # veya expo start -
Cihazınızda Çalıştırın
- iOS: Expo Go uygulamasında QR kodu tarayın
- Android: Expo Go uygulamasında QR kodu tarayın
- Web: Tarayıcıda otomatik açılacaktır
-
Kayıt Olma
- Uygulamayı açın
- "Kayıt Ol" butonuna tıklayın
- Kullanıcı bilgilerinizi ve TC Kimlik No'nuzu girin
- Rol seçimi yapın (User/Admin)
-
Giriş Yapma
- E-posta ve şifreniz ile giriş yapın
- Rolünüze göre ilgili ekrana yönlendirileceksiniz
- "Test Sonuçlarım" sekmesine gidin
- TC Kimlik No ve yaş (ay) bilgisini girin
- Test değerlerini (IgA, IgM, IgG, vb.) girin
- "Sonuçları Değerlendir" butonuna tıklayın
- Sonuçlar otomatik olarak analiz edilecektir:
- 🔵 Mavi: Normal değer
- 🔴 Kırmızı: Düşük değer
- 🟢 Yeşil: Yüksek değer
-
Kullanıcıları Görüntüleme
- "Kullanıcılar" sekmesinden tüm kayıtlı kullanıcıları görüntüleyin
-
Kullanıcı Testlerini İnceleme
- Bir kullanıcıya tıklayın
- Tüm test geçmişini görüntüleyin
-
Kılavuz Oluşturma
- "Kılavuz Oluştur" sekmesinden yeni referans değerleri ekleyin
LabNet/
│
├── 📱 App.js # Ana uygulama dosyası ve navigasyon yapısı
├── 🔧 index.js # Uygulama giriş noktası
├── ⚙️ app.json # Expo yapılandırması
├── 📊 klavuzVerileri.json # Referans değerleri JSON dosyası
├── 🔥 firebaseConfig.js # Firebase yapılandırması (git'te yok)
├── 📝 firebaseConfig.example.js # Firebase yapılandırma şablonu
│
├── 📂 screens/ # Tüm ekran bileşenleri
│ ├── LoginScreen.js # Giriş ekranı
│ ├── SignupScreen.js # Kayıt ekranı
│ ├── HomeScreen.js # Ana sayfa / Bilgilendirme
│ ├── TestScreen.js # Test sonucu giriş ve değerlendirme
│ ├── FastTestScreen.js # Admin için hızlı test girişi
│ ├── UserTestsScreen.js # Kullanıcının test geçmişi
│ ├── UserSettingsScreen.js # Kullanıcı ayarları ve profil
│ ├── AdminScreen.js # Admin ana ekranı
│ ├── UsersScreen.js # Tüm kullanıcılar listesi (Admin)
│ ├── GuideScreen.js # Referans kılavuzları görüntüleme
│ └── CreateGuideScreen.js # Yeni kılavuz oluşturma (Admin)
│
├── 📂 navigators/ # Navigasyon yapılandırmaları
│ ├── UserTabNavigator.js # Kullanıcı için alt menü
│ ├── AdminTabNavigator.js # Admin için alt menü
│ └── AdminStackNavigator.js # Admin için stack navigasyon
│
└── 📂 assets/ # Görsel ve medya dosyaları
├── icon.png
├── splash-icon.png
├── adaptive-icon.png
└── favicon.png
users koleksiyonu:
{
uid: "kullanıcı_id",
email: "ornek@email.com",
tcKimlikNo: "12345678901",
role: "user" | "admin",
createdAt: Timestamp
}testResults koleksiyonu:
{
userId: "kullanıcı_id",
tcKimlikNo: "12345678901",
ayBilgisi: 24,
testDate: Timestamp,
testValues: {
IgA: { value: 45.5, result: "Normal", referenceRange: "23-130" },
IgM: { value: 98.3, result: "Normal", referenceRange: "25.6-201" },
IgG: { value: 750, result: "Normal", referenceRange: "492-1190" },
// ... diğer değerler
}
}- Firebase Console adresine gidin
- "Add project" butonuna tıklayın
- Proje adını girin ve oluşturun
- Firebase Console'da "Authentication" bölümüne gidin
- "Get Started" butonuna tıklayın
- "Email/Password" seçeneğini etkinleştirin
- Firebase Console'da "Firestore Database" bölümüne gidin
- "Create database" butonuna tıklayın
- "Start in test mode" seçeneğini seçin (geliştirme için)
- Konum seçin ve oluşturun
- Firebase Console'da proje ayarlarına gidin
- "Add app" butonuna tıklayın ve "Web" seçin
- Uygulama adını girin
- Firebase yapılandırma kodunu kopyalayın
firebaseConfig.jsdosyasına yapıştırın
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
match /testResults/{testId} {
allow read, write: if request.auth != null;
allow read: if request.auth.token.role == "admin";
}
}
}Uygulama, girilen yaş bilgisine (ay cinsinden) göre uygun yaş grubunu belirler ve test değerlerini referans aralıklarıyla karşılaştırır:
// Örnek: IgA testi için 24 aylık çocuk
ayBilgisi: 24 (ay)
yaşAralığı: "25-36" ay grubundan önceki "13-24" ay grubu
IgA değeri: 15 g/L
Referans aralığı: 11.5 - 94.3 g/L
Sonuç: Normal ✓- Normal: Değer, referans aralığı içinde
- Düşük: Değer, minimum referans değerinin altında
- Yüksek: Değer, maksimum referans değerinin üstünde
Katkılarınızı bekliyoruz! Lütfen aşağıdaki adımları izleyin:
- Projeyi fork edin
- Feature branch oluşturun (
git checkout -b feature/YeniOzellik) - Değişikliklerinizi commit edin (
git commit -m 'Yeni özellik eklendi') - Branch'inizi push edin (
git push origin feature/YeniOzellik) - Pull Request oluşturun
- Kod standartlarına uyun
- Anlamlı commit mesajları yazın
- Her yeni özellik için testler ekleyin
- Dokümantasyonu güncelleyin
Emre
Mobil Uygulama Geliştirme Dersi Projesi
- React Native ve Expo topluluğuna
- Firebase ekibine
- Tüm açık kaynak katkıda bulunanlara
⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!