Doğum sonrası anne ve bebek takibini tek çatı altında toplayan, klinik akışına göre tasarlanmış modern, güvenli ve kapsamlı sağlık yönetim sistemi.
Kurulum · Mimari · API · Testler
- Proje Hakkında
- Öne Çıkan Özellikler
- Sistem Mimarisi ve Backend Örüntüleri
- Teknoloji Yığını
- Modüller
- Kurulum
- Kullanıma Başlama
- API Kullanımı
- Test & Kalite
Doğum sonrası dönem, hem anne hem bebek için kritik bir süreçtir. Geleneksel kliniklerde bu süreç genellikle kağıt formlar veya basit e-tablolar ile yönetilmektedir.
Lohusa & Bebek İzlem Platformu, ebe ve klinisyenlerin bu hassas süreci dijital, entegre, ölçülebilir ve son derece güvenli bir biçimde yönetmesini sağlar. Sektör standartlarında Laravel mimarisi kullanılarak inşa edilmiş olan uygulama, sadece bir veri giriş aracı değil; riskleri öngören, hasta durumunu analiz eden ve kliniğe bütüncül bir bakış açısı sunan bir asistan görevi görür.
| Kategori | Özellik | Detay |
|---|---|---|
| Klinik Analiz | Hasta Risk Skoru | Hayati bulgular (ateş, tansiyon) ve psikolojik faktörlere göre otomatik risk (Düşük/Orta/Yüksek) hesaplama |
| İş Akışı | Çok Adımlı Form Sihirbazı | 16 adımlık parçalı kayıt akışı (klinik → fiziksel muayene → sosyal durumlar) |
| Görselleştirme | Dinamik Dashboard | Chart.js destekli aylık kayıt trendi, termin ve beslenme dağılımları, hızlı özet metrikler |
| Yönetim | Admin ve Kullanıcı Paneli | Yöneticiler için takım yönetimi (Ebe, Öğrenci), rol atama, profil ve şifre güncellemeleri |
| UX & UI | Dark Mode & Kısayollar | Göz yormayan yerel depolamalı Karanlık Tema, güç-kullanıcıları için klavye kısayolları (N, B, ?) |
| Güvenlik | Role-Based Access Control | Spatie Permission altyapısı ile admin, ebe ve student rolleriyle form okuma/yazma kısıtlamaları |
| Dışa Aktarım | CSV ve PDF Çıktı | Formların detaylı PDF'ini oluşturma (DomPDF) veya toplu listeleri CSV formatında indirebilme |
| Altyapı | İleri Backend Patternleri | Observer, Event/Listener, Type-Safe Enums, Soft Deletes, Rate Limiting gibi sektör pratikleri |
Bu proje, ölçeklenebilir ve test edilebilir modern bir Laravel uygulamasının nasıl tasarlanması gerektiğini göstermek üzere en güncel yazılım örüntüleri (Software Patterns) ile kodlanmıştır:
- Repository & Service Pattern: İş mantığı (
Service) ve veri tabanı erişimi (Repository) Controller'lardan tamamen ayrıştırılarakSOLIDprensiplerine uygun mimari sağlanmıştır. - Observer Pattern: Modeller üzerindeki (Lohusa, Bebek) oluşturma, güncelleme ve silme eylemleri
ActivityLogmodeli vasıtasıyla eşzamanlı olarak veritabanına loglanır. - Event-Driven Architecture (Event/Listener):
FormCreatedolayı fırlatılarak sisteme eklenen yeni formların loglama işlemleri loosely coupled (gevşek bağlı) şekildeLogFormCreationdinleyicisi ile gerçekleşir. - Type-Safe Enums (PHP 8.1+): Rol yönetimi ve takip durumları, hatalı veri girişini önlemek ve state mantığını düzenlemek için
App\Enumsaltında (renk, ikon metotları dahil) yapılandırılmıştır. - Soft Deletes: Klinik hasta verilerinin kalıcı olarak yok edilmesini engellemek için
deleted_atmekanizması devreye alınmıştır. - API Rate Limiting: Servislere yönelik brute force saldırılarını önlemek adına
AppServiceProviderüzerinden yapılandırılan dakikada 60 istekle sınırlı birthrottletanımlanmıştır. - Health Check Endpoint (
/api/health): Sunucu ve DB durumunu izleyen (Monitoring) üretim ortamlarına hazır sağlık test noktası oluşturulmuştur. - Artisan Console Commands: Sistem yöneticilerinin takip durumlarını görebilmesi için
php artisan report:dailyterminal komutu entegre edilmiştir.
┌──────────────────────────────────────────────────────────────────┐
│ İSTEK AKIŞI │
├──────────────────────┬───────────────────────────────────────────┤
│ Web Arayüzü │ API v1 / Sanctum │
│ (Blade + BS5 + │ (Token tabanlı erişim) │
│ Glassmorphism) │ │
└─────────┬────────────┴──────────────────┬────────────────────────┘
│ │
▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ Web & API Controller Katmanı │
│ Policy · Permission · Middleware · Auth │
└──────────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Service Katmanı │
│ İş mantığı · Validasyon · Hesaplama motoru │
└──────────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Repository Katmanı │
│ Veri erişimi · Sorgular · Eloquent ORM │
└──────────────────────────────────────────────────────────────────┘
| Katman | Teknoloji |
|---|---|
| Backend | PHP 8.2 + Laravel 12 |
| API Güvenliği | Laravel Sanctum |
| Yetkilendirme | Spatie Laravel Permission |
| PDF & Raporlama | Barryvdh DomPDF, League CSV |
| Test | Pest Framework (Feature, Unit) |
| Frontend | Blade, Bootstrap 5, Chart.js, Lucide Icons |
| Tema Özellikleri | Glassmorphism, Native Dark Mode, Custom CSS Variables |
| Veritabanı | MySQL / SQLite |
📊 Dashboard & Analitik
- Aktif ve toplam form sayılarının üst seviye özeti.
- Chart.js Entegrasyonu: 6 aylık kayıt trend çubukları, yenidoğan bebek termin (zamanında/erken) dağılım pasta grafiği ve beslenme istatistiği.
- Bugün ve bu hafta için aciliyet rengine göre sınıflandırılmış Takip Uyarıları.
🤱 Lohusa İzlem Modülü
- Çok adımlı form üzerinden anneye ait fizyolojik bulguların girilmesi.
- `RiskCalculator` sınıfı ile annenin ateşi, tansiyonu veya psikolojik durumuna dayanarak "Düşük/Orta/Yüksek" risk seviyelerinin otomatik saptanması.
- Tarayıcı kapanmasına kalsı veri kaybını önleyen "Taslak Kaydetme" (LocalStorage).
- PDF Rapor ve Excel/CSV indirme.
👶 Bebek İzlem Modülü
- Genişletilmiş muayene adımları (cilt, baş, göbek kordonu vs.)
- Yenidoğanın doğum yeri, termin durumu ve beslenme modeline yönelik takibi.
- Düzenleme (Update) desteği.
- CSV olarak dışarı aktarım seçenekleri.
👥 Kullanıcı & Profil Yönetimi
- Profilim: Her kullanıcının e-postasını ve şifresini güvenle güncelleyebileceği sayfa.
- Admin Paneli: Sistem yetkililerinin hesapları izlediği, yeni ebe veya öğrenci hesapları yaratıp silebildiği `UserController` tabanlı yönetim alanı.
- PHP ≥ 8.2 (
pdo_sqliteuzantısı testler için gerekli) - Composer
- Node.js ≥ 18 + npm
- MySQL veya SQLite bağlantısı
# 1. Projeyi klonlayın
git clone https://github.com/ferhatolmez/LohusaVeBebekLaravel.git
cd LohusaVeBebekLaravel
# 2. Bağımlılıkları yükleyin
composer install
npm install
npm run build
# 3. Çevre değişkenlerini ayarlayın
cp .env.example .env
php artisan key:generate
# 4. Veritabanını yapılandırın (SQLite varsayılan yapılabilir veya MySQL bilgilerinizi .env'ye girin)
php artisan migrate:fresh --seed
# 5. Sunucuyu başlatın
php artisan serveSunucu çalışırken varsayılan admin hesabıyla panele girebilirsiniz (migration'da seed edilmişse). Aksi takdirde, Laravel Tinker üzerinden ilk ana kullanıcı hesabınızı şu şekilde oluşturabilirsiniz:
php artisan tinker$user = App\Models\User::create(['name' => 'Sistem Yöneticisi', 'email' => 'admin@clinic.com', 'password' => bcrypt('password123')]);
$user->assignRole('admin');Bu bilgilerle giriş yaptıktan sonra:
- Sağ üst menüden Kullanıcı Yönetimi'ne gidip kliniğinizdeki diğer kişileri (Ebe, Öğrenci) oluşturun.
- Ana ekrandan veya klavyeden
Ntuşuna basarak ilk Lohusa kaydını yaratın.
Sistemin sunduğu RESTful JSON API altyapısı mevcuttur. İstek yapmak için token gereklidir.
- Token Alma:
POST /api/v1/tokens/create(email ve password ile) - Kayıt Listeleme:
GET /api/v1/lohusa?page=1(Header:Authorization: Bearer <token>) - Sistem Durumu:
GET /api/health
Tüm API yanıtları JsonResource üzerinden düzenli formatta (data/meta) dönmektedir ve Rate Limiting ile limitlenmiştir.
Proje, iş mantığının hiç kırılmadığından emin olmak için Pest PHP framework'ü kullanılarak yazılmış kapsamlı test paketlerine sahiptir.
# Tüm test senaryolarını çalıştırmak için
php artisan testTestler in-memory SQLite kullanarak çalışır (Test sırasında veritabanına zarar gelmez):
LohusaFormTest— Erişilebilirlik, yaratma ve PDF indirme işlemleriBebekFormTest— Validasyonlar, düzenleme ve listeleme testleriDashboardTest— Rollerin doğru veriyi görüp görmediği
Lohusa & Bebek İzlem Platformu · 2026