1. Bu uygulama ne işe yarar?
Hastane koridorlarındaki duvarlara küçük QR etiketleri asılır. Ziyaretçi telefonuyla yanındaki etiketi okutur; uygulama “şu an buradasınız” der. Ziyaretçi aradığı şeyi (poliklinik, doktor adı, oda numarası, yatan hasta, tuvalet…) yazar; uygulama kat krokisi üzerinde yolu çizer ve adım adım tarif verir: “koridorda 10 m ilerleyin, sola dönün, 2. kapı”.
Uygulamanın internetten sürekli veri çekmesi gerekmez: bina bilgisi bir kez yüklenir, telefon çevrimdışıyken de arama ve tarif çalışır. Kurulum (uygulama mağazası) gerekmez; QR kodu doğrudan tarayıcıda açılır.
Aşağıdaki ekran görüntülerinde “Örnek Devlet Hastanesi” adlı küçük bir bina kullanıldı: 2 blok, 5 kat, 160 oda, 8 birim, 8 kişi, 59 QR noktası. Kendi binanızda sayılar değişir; ekranların yerleşimi aynıdır.
2. Hasta ve ziyaretçi nasıl kullanır?
2.1. Ana ekran
Uygulama açıldığında üstte “konum bekleniyor” uyarısı, ortada arama kutusu, altta binanın blokları görünür. Alt şeritte dört sekme vardır: Ara, Kat planı, Rehber, QR noktaları.
2.2. QR okutmak
Sağ üstteki QR okut düğmesi kamerayı açar ve kodu uygulamanın içinde çözer: iPhone/Safari, Firefox ve masaüstü Chrome dâhil her tarayıcıda çalışır, telefonun kamera uygulamasına geçmek gerekmez.
Kamera açılmazsa (izin verilmedi, cihazda kamera yok) iki yol daha vardır:
Fotoğrafla okut düğmesi etiketin çekilmiş fotoğrafından kodu okur;
“kodu elle yazın” kutusuna etiketin altında yazan kodu (örn. A0-04) yazmak da
konumu ayarlar. Bilgisayardan bakanlar için aynı ekranda hazır QR kodları
listelenir.
2.3. Konum ayarlandıktan sonra
Kod okunduğunda üstte mavi bir şerit belirir: “Başlangıç: Ana Giriş · AZ Zemin Kat”. Bundan sonra yapılan her arama, o noktadan tarif üretir.
2.4. Yol tarifi
Arama yapıp hedefe dokunulduğunda yol tarifi tam ekran açılır (2.5). Tam ekran kapatılırsa sayfa içi düzen gelir: önce özet (mesafe, süre, kaç kat, asansör mü merdiven mi), sonra kat krokisi üzerinde çizilmiş yol, sonra adım adım yürüyüş listesi. Engelsiz rota düğmesi merdivenleri devre dışı bırakır; tekerlekli sandalye veya sedye ile gidecekler için yol yalnızca asansörlerden geçer. Yolu adım adım yürümek, sesli tarifi dinlemek ve haritayı çevirmek için 2.6’ya bakın.
2.5. Tam ekran harita
Yol tarifi açıldığında harita bütün ekranı kaplar. Ekranın dört kenarı şunlar içindir:
- Üstte gidilecek hedefin adı, bloğu, katı ve oda numarası; yanında kalan mesafe ve kalan süre yazar.
- Sağ üstte çarpı düğmesi tam ekranı kapatır ve sayfa içi eski düzene döner. Bu tercih hatırlanır: bir daha yol tarifi açıldığında eski düzen gelir. Geri açmak için krokinin altındaki Tam ekran harita düğmesine basılır.
- Altta büyük Geri ve Devam düğmeleri ile adım sayacı durur (2.6).
- Sağda yazılı tarif listesi vardır; Devam'a her basışta o anki adım işaretlenir ve liste kendiliğinden kayar. Başlığındaki küçük düğme listeyi daraltır, harita tüm genişliği kullanır. Daraltılınca sağ kenarda “YAZILI TARİF” yazan ince bir şerit kalır; ona dokununca liste geri gelir. Bu tercih de hatırlanır — liste “kaybolduysa” o şeride bakın.
Haritanın sol kenarındaki Kat / Blok / Tüm hastane düğmeleri ile yakınlaştırma-döndürme düğmeleri tam ekranda da yerindedir. Telefon, tablet ve bilgisayarda aynı ekran çalışır; telefonda yazılı tarif dar ve yarı saydam bir şerit olur.
Mevcut konum krokide her zaman ok ucu ile gösterilir ve ok, yürünecek yöne bakar. O adımda varılacak düğümün üstünde ise küçük bir ok işareti belirir: “şimdi buraya gideceksiniz”. İki işaret de haritayı yakınlaştırdığınızda büyümez, ekranda hep aynı boyda kalır.
2.6. Adım adım yürümek
Haritanın hemen altında büyük bir Devam düğmesi vardır. Ziyaretçi yukarıdaki kat sekmelerine hiç dokunmaz: her adımı yürüdükten sonra yalnızca Devam der. Kroki kendiliğinden bir sonraki adıma kayar, gerekiyorsa kat da değişir. Yanlış yere gidildiyse Geri bir adım geri alır. Çubuğun ortasındaki 3 / 12 sayacı yolun neresinde olunduğunu gösterir.
Her adımda krokinin üzerinde üç şey birden değişir: büyük yön oku, o adımın yazısı ve sağdaki mesafe. Asansör adımında mesafenin yerini kabinde basılacak tuş alır — “kabinde 3 tuşu” gibi.
Sesli tarif
Sesli tarif açık gelir. Her Devam basışında telefon, o adımı yüksek sesle okur:
“Şimdi 114 metre düz ilerleyip B Blok köprüsü hizasına varınız.”
“Asansör Grubu 2 kabinine bininiz. 3 kat yukarı çıkmak için 3 tuşuna basınız. Üçüncü katta ininiz.”
“Vardınız. Pediatri Yoğun Bakım. P 3 01 numaralı oda. Hemşire Deski. Kapı solunuzda.”
Varışta önce birimin adı söylenir: ziyaretçi aradığı yere geldiğini oda numarasından değil birim adından anlar. Oda adı birimin adıyla başlıyorsa yalnızca kalan bölümü okunur (“Nükleer Tıp. AB 2 01 numaralı oda. Kayıt.”), ikisi aynıysa bir kez söylenir.
Böylece gözlüğünü yanına almamış ya da ekranı okumakta zorlanan bir hasta, telefonu cebinde tutup yalnızca sesi dinleyerek yürüyebilir. Hoparlör düğmesi () aynı cümleyi tekrarlar. Sesli tarif düğmesi sesi kapatır; tercih hatırlanır. Ses, telefonun kendi konuşma motoruyla üretilir — internet gerekmez, hiçbir şey dışarı gönderilmez.
Anonsların sabit bölümleri hazır kayıtlardan okunur: mesafeler, dönüşler, asansör ve merdiven anonsları, köprü geçişleri ve varış cümlesi önceden Türkçe kadın sesiyle seslendirilmiştir. Böylece telefon, tablet ve bilgisayarda aynı ses konuşur, cihaza göre değişmez.
Yalnızca binaya özel sözler — oda numarası ve birim adı — cihazın kendi sesiyle söylenir; bu yüzden varış cümlesinde ses bir an değişebilir. Cihazda Türkçe ses varsa uygulama onların arasından önce kadın olanı seçer (iPhone'da Yelda, Android'de Google Türkçe); birden çok varsa krokinin altındaki Ses kutusundan seçilebilir.
Ses duyulmuyorsa: tarayıcılar, kullanıcı ekrana bir kez dokunmadan konuşmaya izin vermez — ilk anons o dokunuşta okunur. Hâlâ ses yoksa ses denetimi sayfasını açın: cihazda hangi seslerin kurulu olduğunu listeler, tek tek dinletir ve Türkçe sesin nasıl kurulacağını yazar. iPhone'da yan taraftaki sessize alma düğmesi açıksa konuşma hiç duyulmaz.
Kroki yürüme yönüne döner
“Sağ taraf neresi?” sorusu kâğıt haritalarda en çok zorlanılan yerdir. Bu yüzden kroki, yüzünüzün baktığı yön yukarı gelecek biçimde döndürülür ve krokinin altında sabit duran ▲ Yüzünüz bu yöne oku bunu söyler. Ekranda “sola dönün” yazıyorsa, krokide de yol sola kıvrılır. Oda adları ve numaraları kroki dönerken baş aşağı kalmaz, kendiliğinden düzelir.
Krokiyi elle de çevirebilirsiniz: sağdaki ⟲ ve ⟳ düğmeleri 15’er derece çevirir, iki parmakla tutup çevirmek serbest açı verir, köşedeki derece göstergesi (örn. 270°) ne kadar dönüldüğünü yazar. ⤢ hem yakınlaştırmayı hem de döndürmeyi sıfırlar. Otomatik dönmeyi hiç istemeyenler Haritayı yürüme yönüne çevir düğmesini kapatabilir.
Parmak kuralı: harita iki parmakla kaydırılır, yakınlaştırılır ve çevrilir. Tek parmak haritanın üstünde de olsa sayfayı kaydırır — böylece harita parmağınızın altında kilitli kalmaz ve telefon tarayıcısının alt çubuğu kendiliğinden küçülür. Tek parmakla sürüklerseniz krokinin üstünde kısa bir hatırlatma belirir. Bilgisayarda fare ile tek tuşla sürüklemek eskisi gibi haritayı gezdirir.
Konumu parmakla düzeltmek
Yolu şaşırdıysanız ya da bir süre yürüyüp durduysanız krokide bulunduğunuz yere dokunmanız yeterli: başlangıç noktası oraya taşınır ve kalan mesafe yeniden hesaplanır. Rota üzerindeki bir noktaya dokunmak başlangıcı yol boyunca ileri kaydırır; yani “buraya kadar geldim” demek için QR okutmaya gerek yoktur. Dokunduğunuz yere en yakın koridor, kapı, asansör veya kavşak seçilir. Krokiyi iki parmakla kaydırmak konumu değiştirmez; yalnızca tek dokunuş taşır.
Üç harita ölçeği
Krokinin sol kenarındaki üç düğme, aynı yolu üç ayrı ölçekte gösterir:
- Kat — bulunduğunuz katın krokisi, çizilmiş yol ve odalar.
- Blok — bloğun kat kesiti: katlar üst üste dizilir, bulunduğunuz kat BURADASINIZ, gideceğiniz kat HEDEF olarak işaretlenir. Bir kata dokunmak o katın krokisini açar.
- Tüm hastane — bütün blokların yerleşim şeması: hangi bloktasınız, hedef hangi blokta, aralarında kaç katta köprü var. Bir bloğa dokunmak o bloğun kat kesitine geçirir.
2.7. Renkleri değiştirmek (görünüm)
Üst çubuktaki Görünüm düğmesi (palet simgesi) renk seçeneklerini açar. Yedi seçenek vardır ve hepsi büyük puntoyla, yüksek karşıtlıkla okunacak biçimde hazırlanmıştır:
- Cihaza uy — telefon gece kipindeyse koyu, değilse açık görünür (varsayılan).
- Kurumsal — KTÜ laciverti, beyaz zemin.
- Yüksek karşıtlık — bembeyaz zemin, simsiyah yazı, kalın çizgiler. Az gören gözler için en okunaklısı.
- Gece — siyah zemin, beyaz yazı, sarı vurgu; karanlık koridorda gözü yormaz.
- Krem — sıcak kâğıt zemini, koyu kahve yazı; beyaz parlaması olmaz.
- Turuncu-lacivert — koyu lacivert zemin, turuncu yazı.
- TS (bordo-mavi) — Trabzonspor bordosu ve mavisi.
Seçim o cihazda saklanır; kullanım kılavuzu ve ses denetimi sayfası da aynı renklere döner. Koyu temalarda kat krokisindeki odalar da koyulaşır, oda numaraları okunur kalır.
Tam ekran: tarayıcı çubuklarını kaldırmak
Aynı ekranın altındaki Tam ekran satırı (ve yol tarifi açıkken sağ üstteki ⛶ düğmesi) tarayıcının adres çubuğunu ve düğmelerini tümüyle kaldırır; ekranın tamamı haritaya kalır. Android, iPad ve bilgisayarda böyle çalışır, çıkmak için aynı düğmeye ya da Esc tuşuna basılır.
iPhone’da Safari web sayfalarına tam ekran izni vermez; bu yüzden düğme görünmez. Tek yol uygulamayı ana ekrana eklemektir: Paylaş ▸ Ana Ekrana Ekle. Uygulama ana ekrandaki simgesinden açıldığında Safari’nin adres çubuğu ve alt düğmeleri hiç görünmez — ayrıca çevrimdışı da açılır. Uygulama bu yönergeyi yol tarifi ekranında bir kez kendisi hatırlatır.
2.8. Diğer sekmeler
3. Sistem nasıl çalışır (yönetici)
Binanın tüm bilgisi tek bir dosyada durur: data/site.json.
Sunucuda veritabanı yoktur, panel sunucuya hiçbir şey yazmaz. Yönetim paneli aslında bu
dosyayı hazırlayan bir düzenleyicidir.
Bunun üç önemli sonucu var:
- Hiçbir şey yanlışlıkla canlıya gitmez. Panelde yaptığınız düzenleme, siz dosyayı indirip gönderene kadar yalnızca sizin tarayıcınızdadır.
- Her değişikliğin kaydı tutulur. Veri depoda sürümlendiği için “geçen hafta neyi değiştirdik” sorusunun cevabı vardır, eski hâle dönülebilir.
- Dosya yoksa demo çalışır.
data/site.jsonsilinirse uygulama yerleşik KTÜ Farabi demo binasına döner. Hiçbir ekran boş kalmaz.
İki kişi aynı anda panelde çalışıp ayrı ayrı yayınlarsa, ikinci gönderilen dosya birincisinin üstüne yazar. Veri girişini tek kişi yapsın ya da sırayla çalışın.
4. Yönetim panelini açmak
Panele iki yoldan girilir: uygulamanın sağ üstündeki Yönetim
(kilit simgeli) düğmesi, ya da adresin sonuna /admin.html yazmak
(örn. https://farabiyon.retinaarge.tech/admin.html). Her iki yolda da önce
giriş sayfası çıkar. Panelin üstündeki Uygulamayı aç,
Kullanım kılavuzu ve Çıkış bağlantıları sayfalar
arasında gidip gelmenizi sağlar.
4.1. Parola ile giriş
Panel parola ile korunur. Uygulamanın sağ üstündeki Yönetim düğmesi (ya da doğrudan panel adresi) aşağıdaki giriş sayfasını açar. Kullanıcı adı ve parolayı yazıp Giriş yap düğmesine basın; doğruysa panel açılır ve 8 saat boyunca açık kalır. Kullanıcı adı ve parola hastanenin sistem yöneticisindedir.
Koruma sunucu tarafındadır: doğru giriş yapılmadan panel dosyaları hiç gönderilmez. Parola sunucuya da gönderilmez — tarayıcı yalnızca parolanın matematiksel özetini iletir, sunucu da kendi tarafında aynı özeti bekler. Çıkmak için panelin üstündeki Çıkış bağlantısını kullanın; ortak kullanılan bir bilgisayarda panelden ayrılırken bunu unutmayın.
4.2. Ekranın bölümleri
- Üst çubuk: solda binanın adı, yanında durum yazısı (“Yayındaki veriyle aynı” ya da “Kaydedilmemiş değişiklik var”), sağda Yayınla düğmesi.
- Sol menü: dokuz bölüm. Kurulum sırası yukarıdan aşağıya doğrudur: Bina → Bloklar → Katlar → Birimler → Odalar → Kişiler → Girişler → QR noktaları → Yayınla.
- Orta alan: seçili bölümün formu. Bir kutuya yazdığınız değer, kutudan çıktığınız anda taslağa işlenir; ayrıca “kaydet” düğmesi yoktur.
4.3. Taslak nedir?
Panelde yaptığınız her değişiklik, taslak olarak sizin tarayıcınıza yazılır. Sekmeyi kapatıp ertesi gün aynı bilgisayardan açsanız kaldığınız yerden devam edersiniz. Taslak başka kimseye görünmez ve canlıyı etkilemez. Kaydedilmemiş taslak varken sayfadan ayrılmaya çalışırsanız tarayıcı “sayfadan ayrılmak istiyor musunuz?” diye sorar.
Taslaktan vazgeçmek için Yayınla → Taslağı sil ve yayındaki veriye dön düğmesini kullanın.
4.4. Nereden başlanır?
Bina bölümünün altındaki üç düğme başlangıç noktasını belirler:
| Düğme | Ne yapar | Ne zaman |
|---|---|---|
| Boş binadan başla | Tek bloklu, iki katlı boş bir iskelet kurar. | Gerçek kurulumda. |
| Farabi demo verisinden başla | Hazır 5 bloklu, 32 katlı, 1544 odalı örneği yükler. | Panelin nasıl çalıştığını görmek, dolu bir binayı incelemek için. |
| JSON içe aktar | Daha önce indirilmiş bir site.json dosyasını geri yükler. | Yedekten dönmek veya başka bilgisayarda devam etmek için. |
Üç düğme de mevcut taslağı siler ve önce onay sorar. Elinizde kıymetli bir taslak varsa önce Yayınla → site.json indir ile yedekleyin.
5. Sıfırdan bina kurulumu
Aşağıdaki dokuz adım, hiç veri olmayan bir binayı yayına almak için yeterlidir. Sırayı bozmayın: her adım bir öncekinin ürettiği yapının üstüne kurulur.
-
Bina bilgilerini yazın
Bina bölümünde dört alan var: Kısa ad (üst çubukta ve QR etiketlerinde görünür), Tam ad (ana ekranın altında), Kurum ve Şehir / ilçe. Alt not alanı ana ekranda küçük puntoyla çıkar; örneğin “Demo sürüm” uyarısı oraya yazılır — gerçek veriye geçtiğinizde bu notu silin.
“Şu anki veri” sayaçları (blok, kat, oda, birim, kişi, doktor) her değişiklikten sonra güncellenir. -
Blokları tanımlayın
Blok, kendi asansör ve merdiven kovaları olan bina bölümüdür. Blok ekle ile satır açılır. Her satırda:
- Kimlik: tek harf (A, B, C…). Oda kodlarının başına gelir:
A0-04. - Ad / Kısa ad / Tema: ziyaretçiye görünen adlar (“A Blok”, “Poliklinikler”).
- Renk: krokide ve kartlarda kullanılan blok rengi.
- Koridor: ana koridordan çıkan ara koridor sayısı (4–6).
- Katlar: virgülle ayrılmış seviyeler.
0zemin kat,-1birinci bodrum,2ikinci kat. Yani-1, 0, 1, 2.
Bloklar listede yazdığınız sırayla komşu kabul edilir; ortak katlarında aralarına geçiş köprüsü kurulur.
İki bloklu örnek. Turuncu uyarı kutusu, koridor sayısını sonradan değiştirmenin sonucunu hatırlatır. - Kimlik: tek harf (A, B, C…). Oda kodlarının başına gelir:
-
Katları ve kat yoğunluğunu ayarlayın
Kat planı parametriktir: mimari çizim yüklenmez. Kroki üç sayıdan üretilir — bloğun koridor sayısı, kat seviyeleri ve taraf başına oda. Taraf başına oda, her ara koridorun bir yanına kaç oda dizileceğidir (3–7). Dört koridorlu, taraf başına 4 odalı bir katta
4 × 2 × 4 = 32oda olur.Sayıyı değiştirdiğiniz anda alttaki kroki önizlemesi yenilenir; katın gerçekte nasıl göründüğüne en yakın sayıyı deneyerek bulabilirsiniz.
Kat tablosu ve altında seçili katın krokisi. Kat satırındaki koda tıklayınca o katın önizlemesi açılır. Bu adımı sonra değiştirmeyinKoridor sayısı veya taraf başına oda değişirse o bloktaki tüm oda kodları yeniden numaralanır ve duvara asılmış etiketler geçersiz olur. Bu iki sayıyı kurulum sırasında oturtun; sonrasında elleşmeyin.
-
Birimleri yerleştirin
Birim, bir ara koridorun bir yanındaki oda kümesidir: bir poliklinik, bir servis, laboratuvar… Üstteki kat düğmelerinden katı seçin; boş kümelerde Buraya birim ekle yazar. Ekledikten sonra:
- Birim adı yazın (“Göz Polikliniği”).
- Tür seçin (Poliklinik, Yatan Hasta Servisi, Yoğun Bakım, Ameliyathane, Acil, Görüntüleme, Laboratuvar, Sterilizasyon, İdari, Eğitim, Hizmet, Destek).
- İsterseniz kısa kod, çalışma saatleri ve günler girin.
- Odaları türüne göre adlandır düğmesine basın: kümedeki odalar türe uygun adlar alır (sekretarya, muayene odaları, doktor odası; serviste hasta odaları ve hemşire deski gibi).
Ziyaretçiye kapalı kutusu işaretlenirse birim aramada hedef olarak önerilmez (ameliyathane, sterilizasyon gibi).
Kümenin başlığı hangi koridor ve tarafta olduğunu, hangi oda kodlarını kapsadığını söyler. Kümenin ilk odası birimin girişi sayılır: QR etiketi ve yol tarifi oraya götürür.
-
Oda adlarını gözden geçirin
Odalar bölümünde seçili katın bütün odaları listelenir. Değiştirebileceğiniz üç şey var: odanın adı, türü (muayene, doktor odası, hasta odası, laboratuvar, depo, WC…) ve kapalı işareti. Oda kodu değiştirilemez — kod kat geometrisinden üretilir; etiketlerin kalıcılığı buna bağlıdır.
Arama kutusuyla oda kodu, ad veya birim adına göre süzebilirsiniz. Katın tamamını yeniden adlandırmak için Bu kattaki odaları birimlerine göre adlandır.
Sağdaki “Kişi” sütunu, o odaya bağlı doktoru gösterir. İki ayrı kod var, karıştırmayınOda kodu zemin katta
Zharfini kullanır:AZ-03. QR kodu ise kat numarasını kullanır:A0-03. Duvara asılan etikette QR kodu yazar; hasta kapısında oda kodu bulunur. -
Kişileri girin
Kişiler bölümünde üç tür kayıt vardır: Doktor, Personel, Yatan hasta. Kişi ekle düğmesi seçili türe uygun boş bir satır açar ve kişiyi uygun boş bir odaya yerleştirir; ardından ad, unvan, uzmanlık, oda, gün ve saat alanlarını düzenlersiniz.
Kişi yalnızca bir oda koduna bağlanır; birim ve kat bilgisi o odadan türetilir. Yani doktoru başka odaya taşımak için tek yapmanız gereken oda kodunu değiştirmektir.
Tür süzgeçleri (Tümü / Doktor / Personel / Yatan hasta) ve ad-oda-uzmanlık araması. Kişisel veriDoktor, personel ve özellikle yatan hasta kayıtları kişisel veridir. Yatan hasta bilgisi girmek hastanenin kendi izin ve aydınlatma yükümlülüğüne tabidir; gerekmiyorsa bu türü hiç kullanmayın.
-
Giriş kapılarını tanımlayın
Giriş, QR okutmadan gelen ziyaretçinin “hangi kapıdan girdiniz?” sorusuna verdiği cevaptır ve rotanın başlangıcı olur. Her giriş bir kata ve o katın ana koridorunun batı ya da doğu ucuna bağlanır. Not alanı ziyaretçiye ipucu verir (“danışma ve vezne”, “112 ambulans girişi”).
En az bir giriş tanımlayın: QR okutamayan ziyaretçinin tek başlangıç noktası budur. -
QR noktalarını kodlayın
Uygulama; giriş kapıları, koridor kavşakları, asansör/merdiven kovaları, WC ve her birim girişi için otomatik olarak birer QR noktası belirler. QR noktaları bölümünde bu noktalar kat kat listelenir. Yeni eklediğiniz yerler için üstte “N yeni noktayı kodla ve kaydet” düğmesi çıkar; basınca her noktaya kalıcı kodu verilir. Hepsi kodlanmışsa düğme yerinde “Kodlar güncel” yazar.
“Durum” sütunu: kayıtlı (kodu verilmiş), yeni (kodlanacak) veya emekli. Kodlar neden asla değişmez?Bir kod bir kez verildikten sonra başka bir noktaya devredilmez. Yeni birimler kattaki en büyük numaradan devam eder; kaldırılan noktanın kodu emekliye ayrılır ve bir daha kullanılmaz. Bu yüzden bina büyüse de duvardaki eski etiketler doğru yeri göstermeye devam eder.
-
Yayınlayın
Yayınla bölümü önce veriyi denetler: eksik ad, boş birim, tanımsız oda gibi sorunlar varsa burada listelenir. “Doğrulama temiz” yazıyorsa hazırsınız.
Panelin tek çıktısı: site.jsondosyası.Sırasıyla:
- site.json indir düğmesine basın (dosya “İndirilenler” klasörüne iner).
- Dosyayı proje klasöründe
data/site.jsonolarak kaydedin; varsa eskisinin üstüne yazın. - Bir komut penceresi açıp proje klasöründe şunları çalıştırın:
git add data/site.json git commit -m "Bina verisi guncellendi" git pushPush’tan sonra dağıtım kendiliğinden çalışır; bir iki dakika içinde canlı adres yeni veriyle açılır. Telefonlarda eski görüntü kalırsa sayfayı yenilemek yeterlidir.
Kendi bilgisayarınızda
gitkullanmıyorsanız, dosyayı depoya yükleyebilecek kişiye e-postayla göndermeniz de yeterlidir: panelin ürettiği tek şey bu dosyadır.
6. QR etiketlerini basmak
Panelin QR noktaları bölümündeki Yazdırma sayfasını aç
düğmesi (ya da doğrudan /qr.html) yazdırılabilir etiket sayfasını açar.
Üstteki Kapsam listesinden tüm hastaneyi, tek bloğu veya tek katı seçin;
Adres listesi, QR’ın hangi alan adına gideceğini belirler — canlı adresi seçin.
Yazdır düğmesi A4 sayfaya iki sütun olarak basar.
Nereye asılır?
- Giriş kapılarının hemen içine, göz hizasına (yaklaşık 140–150 cm).
- Koridor kavşaklarına, duvarın köşeye bakan yüzüne.
- Asansör ve merdiven sahanlıklarına — kat değiştiren ziyaretçi oradan yeniden okutur.
- Her birimin giriş kapısının yanına.
Etiketin altındaki kod (örn. A0-04) yalnızca süs değildir: kamerası
çalışmayan ziyaretçi o kodu uygulamaya elle yazarak aynı sonucu alır. Etiketi laminasyonlu
basın ve kodun okunur kalmasına dikkat edin.
7. Günlük bakım işleri
Her işin sonunda aynı kapanış vardır: Yayınla → site.json indir → data/site.json olarak kaydet → commit + push.
| Durum | Ne yapılır | QR etiketlerine etkisi |
|---|---|---|
| Doktor odası değişti | Kişiler → ilgili satırda oda kodunu değiştirin. | Yok. |
| Yeni doktor başladı | Kişiler → Kişi ekle → ad, unvan, uzmanlık, oda, gün ve saat. | Yok. |
| Poliklinik adı değişti | Birimler → birim adını düzeltin; isterseniz “Odaları türüne göre adlandır”. | Yok (kod aynı noktada kalır). |
| Boş kümeye yeni birim açıldı | Birimler → Buraya birim ekle → adlandır → QR noktaları → yeni noktayı kodla. | Yalnızca yeni birimin etiketi basılır; eskiler aynı kalır. |
| Birim kapandı | Birimler → Birimi kaldır. Odalar boş alan olur. | O birimin kodu emekliye ayrılır; etiketi duvardan sökün, kod bir daha kullanılmaz. |
| Yeni kat açıldı | Katlar → kat seviyesini yazıp Kat ekle → birimleri yerleştirin → QR noktalarını kodlayın. | Yalnızca yeni kat için etiket basılır. |
| Yeni blok açıldı | Bloklar → Blok ekle → katlar → birimler → QR noktaları. | Yeni bloğun tüm etiketleri basılır; diğer bloklar etkilenmez. |
| Yatan hasta girişi/çıkışı | Kişiler → Yatan hasta kaydını ekleyin veya silin. | Yok. |
Yapıyı bozan bir değişiklik (blok/kat silme, koridor sayısı değiştirme) yapıldığında panel üstte bir uyarı gösterir ve karşılığı kalmayan oda, birim, kişi kayıtlarını temizler. Uyarıyı gördüğünüzde QR noktaları bölümüne uğrayıp durumu kontrol edin.
8. Değiştirilmemesi gerekenler
- Bloğun koridor sayısı ve katın taraf başına oda sayısı: değişirse o bloktaki oda kodları baştan numaralanır, basılı etiketler çöp olur.
- Blok kimliği (harf): oda kodlarının ilk harfidir; değiştirmek tüm kodları değiştirir.
- Oda kodları: zaten elle değiştirilemez, geometriden üretilir.
- Kodlanmış QR noktaları: panel bunları kendiliğinden korur; “emekli” kodları yeniden kullanmaya çalışmayın.
Bilinen sınırlar
- Mimari çizim (DWG/PDF) yüklenemez; kroki parametrelerden üretilir ve gerçek planın şematik karşılığıdır — ziyaretçiyi doğru kapıya götürür, metrekare doğruluğu iddia etmez.
- Odalar ara koridorların iki yanına dizilir; adacık/avlu gibi serbest yerleşimler modellenmez.
/admin.htmlparola ile korunur, ama bu koruma tek bir ortak paroladır: kişi bazlı hesap, rol ayrımı ve “kim neyi değiştirdi” kaydı yoktur. Kim değiştirdi sorusunun cevabı depodaki commit'lerdir.- Aynı anda birden çok kişi düzenleyemez.
- Anonsların sabit bölümü hazır kayıtlardan okunur; oda numarası ve birim adı ise cihazın kendi sesiyle söylenir. Cihazda Türkçe ses kurulu değilse bu sözler bozuk telaffuzla okunur — ses denetimi sayfası durumu gösterir ve kurulumu anlatır. İlk anons, kullanıcı ekrana bir kez dokunduktan sonra duyulur.
- Hazır kayıtlar binadan bağımsız cümlelerdir. Kat planı, oda numaraları ya da adım
cümleleri değişirse ses paketi yeniden üretilmelidir
(
node tools/ses-paketi.mjs). - QR çözümleyici uygulamayla birlikte gelir (
src/vendor/jsqr.js, 256 KB). İlk kullanımda bir kez indirilir, sonra çevrimdışı da çalışır; bu yüzden internetsiz ilk okumada “çözümleyici yüklenemedi” uyarısı görülebilir. - Konum, telefonun kendisi tarafından ölçülmez: QR okutarak ya da krokide bulunduğunuz yere dokunarak belirtilir. Uygulama yürürken sizi otomatik takip etmez; her adımda Devam düğmesine basmak gerekir.
- Tam ekran, tarayıcının kendi tam ekran kipi değildir: uygulama ekranın tamamını kaplar ama tarayıcının adres çubuğu durabilir. Uygulamayı ana ekrana eklediğinizde (PWA) adres çubuğu da kalkar.
- “Tüm hastane” şeması şematiktir: blokların birbirine göre gerçek açısı, aralarındaki gerçek mesafe ve arazi eğimi gösterilmez; yalnızca hangi bloğun hangi bloğa köprüyle bağlandığı doğrudur.
9. Sorun giderme
| Belirti | Sebebi ve çözümü |
|---|---|
| QR okutunca kamera açılmıyor | Kamera yalnızca güvenli bağlantıda (https ya da localhost) çalışır ve izin ister.
Tarayıcı ayarlarından izni verin; olmazsa etiketin altındaki kodu elle yazın. |
| Kod yazdım, “bulunamadı” dedi | Kod yanlış okunmuş olabilir (0 ile O, 1 ile I karışır). Kodun tamamını yazın:
blok harfi + kat + tire + iki hane (A0-04). |
| Yayınladım ama canlıda eski veri görünüyor | Dosya data/site.json adıyla kaydedilmiş ve push edilmiş mi kontrol edin.
Edilmişse sayfayı yenileyin; uygulama bina verisini her açılışta ağdan tazeler. |
| Uygulama eski Farabi demosunu gösteriyor | data/site.json yok ya da bozuk. Dosyayı yerine koyun; panelde
JSON içe aktar ile dosyayı açıp doğruluğunu görebilirsiniz. |
| Panel “Kaydedilmemiş değişiklik var” diyor ama ben yayınladım | Yayınla düğmesi dosyayı indirir; depoya gönderme işini siz yaparsınız. Dosyayı push ettiyseniz bu uyarıyı yok sayabilir ya da taslağı silebilirsiniz. |
| Taslağım kayboldu | Taslak tarayıcıda durur: farklı bilgisayar, farklı tarayıcı veya gizli sekme kullanıldıysa görünmez. Tarayıcı verilerini temizlemek de siler. Uzun işlerde ara ara site.json indir ile yedek alın. |
| Birim ekleyecek boş küme kalmadı | Katın bütün kümeleri doludur. Katlar bölümünden taraf başına oda sayısını artırmak yerine (kodları bozar) yeni kat ya da blok açın. |
| Panel parolasını bilmiyorum / unuttum | Parola sistem yöneticisindedir; sunucu ayarında (ADMIN_PASSWORD)
tutulur. Yönetici değeri değiştirip uygulamayı yeniden dağıttığında yeni parola
geçerli olur. Panel sürekli giriş sayfasına dönüyorsa parola yanlış girilmiştir
ya da giriş süresi (8 saat) dolmuştur: parolayı yeniden yazıp
Giriş yap'a basın. |
| Rota bulunamadı deniyor | Engelsiz rota açıkken hedefe yalnızca merdivenle gidiliyorsa çıkar. Engelsiz rotayı kapatıp deneyin; gerçekten asansörsüz bir katsa planı gözden geçirin. |
10. Terimler sözlüğü
| Blok | Kendi asansör/merdiven kovaları olan bina bölümü. Kimliği tek harftir (A, B…). |
| Kat seviyesi | 0 zemin, 1 birinci kat, -1 birinci bodrum. |
| Ana koridor | Katı boydan boya geçen omurga koridor; iki ucunda giriş olabilir. |
| Ara koridor | Ana koridordan dik çıkan koridor. Sayısı blok ayarıdır (4–6). |
| Taraf | Bir ara koridorun sol ya da sağ yanı. |
| Küme | Bir ara koridorun bir yanındaki odaların tamamı. Bir kümeye bir birim yerleşir. |
| Birim | Poliklinik, servis, laboratuvar gibi işlevsel bölüm. |
| Oda kodu | Blok + kat kısaltması + sıra: AZ-03 (zemin katta Z). |
| QR kodu / nokta | Duvardaki etiketin kimliği: A0-03 (kat numarasıyla). |
| Emekli kod | Karşılığı kalmamış, bir daha kullanılmayacak QR kodu. |
| Taslak | Panelde yapılmış ama henüz yayınlanmamış değişiklikler; tarayıcınızda durur. |
| Yayın | Depodaki data/site.json dosyası; uygulamanın gerçekten okuduğu veri. |
11. Teknik notlar
Bu bölüm yalnızca depoyu çalıştıran kişi içindir.
- Yerelde çalıştırma: proje klasöründe
python -m http.server 8080, ardındanhttp://127.0.0.1:8080/. Kameralocalhostüzerinde çalışır. - Testler:
npm test(jsdom ile panel ve uygulama akışları dahil). - Örnek veri: bu kılavuzdaki bina
data/ornek-bina.jsondosyasındadır.data/site.jsonolarak kopyalarsanız uygulama ve panel o binayla açılır; dosyayı silince Farabi demosu geri gelir. - Çevrimdışı önbellek: arayüz dosyaları değiştiğinde
sw.jsiçindekiCACHEsürümü artırılmalıdır. Bina verisi (data/) bu kuraldan muaftır; her açılışta önce ağdan denenir. - Panel parolası: konteyner açılışında
ADMIN_USER/ADMIN_PASSWORDortam değişkenlerinden"kullanıcı:parola"dizisinin SHA-256 özeti üretilir venginx.confiçindeki yer tutucunun yerine yazılır (docker/30-admin-auth.sh). Giriş formu aynı özetipanelçerezine yazar; nginx çerezi karşılaştırır, parolanın kendisi hiçbir yerde saklanmaz. Parola verilmezse rastgele bir parola üretilir ve konteyner günlüğüne yazılır (her dağıtımda değişir); panel hiçbir durumda parolasız açılmaz. - Dağıtım:
maindalına push, Coolify üzerinde yeniden dağıtımı tetikler.