Türkiye Sağlık Kuruluşları Veritabanı - Modern React Frontend ile Supabase Backend
TURSAKUR 2.0, Türkiye'deki tüm sağlık kuruluşlarının kapsamlı veritabanını sunan modern bir web uygulamasıdır. PostGIS tabanlı coğrafi sorgular, real-time arama, ve kullanıcı dostu arayüz ile sağlık kuruluşlarına kolay erişim sağlar.
- 🗺️ Interaktif Harita: Leaflet.js ile coğrafi görselleştirme
- 🔍 Gelişmiş Arama: Real-time filtreleme ve coğrafi sorgular
- 📱 Responsive Tasarım: Mobile-first approach
- ⚡ Hızlı Performans: Vite build tool ve React Query
- 🗄️ Supabase Backend: PostgreSQL + PostGIS ile güçlü veri yönetimi
- 🔄 Real-time Updates: Anlık veri güncellemeleri
- 📊 Data Visualization: İstatistiksel görselleştirmeler
- React 19.1.0 - Modern UI library
- Vite - Next generation build tool
- React Router - SPA routing
- Leaflet.js - Interactive maps
- React Query - Server state management
- Zustand - Client state management
- Supabase - Backend-as-a-Service
- PostgreSQL - Primary database
- PostGIS - Spatial database extension
- Row Level Security - Data security
- ESLint - Code linting
- Prettier - Code formatting
- Python - Data processing scripts - Modern Türkiye Sağlık Kuruluşları Haritası
Modern web teknolojileri ile geliştirilmiş, Türkiye'deki sağlık kuruluşlarını harita üzerinde gösteren kapsamlı web uygulaması.
- Gerçek zamanlı arama: 300ms debounce ile optimize edilmiş
- Gelişmiş filtreleme: İl, ilçe, kuruluş tipi, mesafe bazlı filtreleme
- Coğrafi sorgular: Harita görünümü bazlı arama
- Öneri sistemi: Arama geçmişi ve akıllı öneriler
- Leaflet entegrasyonu: Performanslı harita deneyimi
- Kümeleme: Binlerce kuruluşu optimize şekilde gösterme
- Gerçek zamanlı filtreleme: Harita üzerinde anlık filtreleme
- Çoklu katman desteği: Farklı kuruluş tiplerini ayrı katmanlarda
- Material Design 3: Google'ın en güncel tasarım sistemi
- Responsive: Mobil, tablet ve masaüstü uyumlu
- Dark/Light Mode: Otomatik tema geçişi
- Accessibility: WCAG 2.1 AA standartlarına uygun
- Gerçek zamanlı istatistikler: Kuruluş sayıları, tip dağılımı
- Coğrafi analiz: İl ve bölge bazlı dağılım
- Performans metrikleri: Arama ve filtreleme hızları
- React 18 - Modern UI kütüphanesi
- Vite - Hızlı geliştirme ortamı
- TanStack Query - Server state yönetimi
- React Router - SPA routing
- Leaflet & React-Leaflet - Harita entegrasyonu
- Material Design 3 - Tasarım sistemi
- Supabase - Backend-as-a-Service
- PostgreSQL - İlişkisel veritabanı
- PostGIS - Coğrafi veri eklentisi
- Row Level Security - Güvenlik katmanı
- GitHub Actions - CI/CD pipeline
- ESLint + Prettier - Kod kalitesi
- Lighthouse - Performans testi
- Docker - Konteynerizasyon desteği
- Node.js 18+
- Python 3.11+
- Git
- Repository'yi klonlayın
git clone https://github.com/[username]/TURSAKUR.git
cd TURSAKUR/tursakur-2.0- Bağımlılıkları yükleyin
npm install
pip install -r requirements.txt- Çevre değişkenlerini ayarlayın
cp .env.example .env
# .env dosyasını Supabase bilgilerinizle güncelleyin- Uygulamayı başlatın
npm run devUygulama http://localhost:5173 adresinde çalışacaktır.
# Supabase Konfigürasyonu
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_service_role_key
# Uygulama Konfigürasyonu
VITE_APP_TITLE=TURSAKUR 2.0
VITE_DEFAULT_CENTER_LAT=39.9334
VITE_DEFAULT_CENTER_LNG=32.8597
VITE_DEFAULT_ZOOM=6Schema dosyası database/schema.sql içinde yer almaktadır. Supabase SQL Editor'da çalıştırın:
-- PostGIS eklentisini etkinleştir
CREATE EXTENSION IF NOT EXISTS postgis;
-- Diğer schema komutları...Mevcut JSON verilerini Supabase'e aktarmak için:
python scripts/load_to_supabase.pyBu script:
- Mevcut JSON dosyalarını okur
- Veri kalitesi kontrolü yapar
- Supabase veritabanına toplu olarak aktarır
- Migrasyon raporunu oluşturur
-
Repository'nize aşağıdaki secrets'ları ekleyin:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEYSUPABASE_URLSUPABASE_KEY
-
Main branch'e push yapın:
git push origin mainGitHub Actions otomatik olarak:
- Kodu test eder
- Build alır
- Production'a deploy eder
- Veri senkronizasyonu yapar
npm run buildBuild dosyaları dist/ klasöründe oluşturulur.
npm testnpm run test:e2enpm run lighthousetursakur-2.0/
├── src/
│ ├── components/ # Yeniden kullanılabilir bileşenler
│ │ ├── TopAppBar.jsx
│ │ ├── SearchBar.jsx
│ │ ├── MapView.jsx
│ │ └── ...
│ ├── pages/ # Sayfa bileşenleri
│ │ ├── HomePage.jsx
│ │ ├── MapPage.jsx
│ │ └── ...
│ ├── hooks/ # Custom React hooks
│ │ └── useInstitutions.js
│ ├── contexts/ # React context providers
│ │ └── ThemeContext.jsx
│ ├── lib/ # Utility kütüphaneleri
│ │ └── supabase.js
│ └── styles/ # Global stiller
│ ├── base.css
│ ├── light.css
│ └── dark.css
├── scripts/ # Python ETL scriptleri
│ ├── supabase_client.py
│ └── load_to_supabase.py
├── database/ # Veritabanı schema
│ └── schema.sql
├── .github/workflows/ # CI/CD konfigürasyonu
└── data/ # Veri dosyaları
- Primary: #BB0012 (Türk Kırmızısı)
- Secondary: #00696D (Petrol Yeşili)
- Tertiary: #775700 (Altın Sarısı)
- Font: Figtree (Google Fonts)
- Scale: Material Design 3 Type Scale
- Base Unit: 8dp
- Responsive Breakpoints: 600px, 900px, 1240px
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit edin (
git commit -m 'Add some amazing feature') - Push edin (
git push origin feature/amazing-feature) - Pull Request açın
- ESLint konfigürasyonuna uyun
- Prettier ile formatlayın
- Testler yazın
- Commit message'ları konvansiyonel olsun
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
- OpenStreetMap - Harita verileri
- Supabase - Backend altyapısı
- Material Design - Tasarım sistemi
- Leaflet - Harita kütüphanesi
- Project Link: https://github.com/[username]/TURSAKUR
- Documentation: Talimatnameler
- Issues: GitHub Issues
TURSAKUR 2.0 - Modern Türkiye Sağlık Kuruluşları Haritası
❤️ ile Türkiye için geliştirilmiştir
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.