Kullanım kılavuzu

Kullanım kılavuzu

Bu sayfa iki kişiye birden yazıldı: hastaneye gelip yolunu arayan ziyaretçiye ve binanın verisini giren yöneticiye. Hiçbir teknik bilgi varsayılmıyor; her adımın ekran görüntüsü var. Yöneticiye düşen tek “bilgisayar işi”, sonda üç satırlık bir git komutu çalıştırmaktır.

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ı”.

1. QR okutDuvardaki etiket konumu belirler
2. AraPoliklinik, doktor, oda, kişi
3. KrokiYol kat planında çizilir
4. TarifAdım adım yürüyüş

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.

Kılavuzdaki örnek bina

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ı.

Uygulamanın ana ekranı: konum bekleniyor uyarısı, arama kutusu ve blok kartları
Ana ekran. Henüz QR okutulmadığı için “Hangi girişten geldiniz?” sorusu ve giriş kapıları listelenir.

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.

QR okutma ekranı: kamera alanı, hazır QR kodları ve kodu elle yazma kutusu
Kamerası olmayan cihazlarda hazır kodlara dokunmak da yeterlidir.

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.

Konum ayarlandıktan sonraki ana ekran
“Buradasınız” kartı: hangi kapıdan / noktadan başlandığını gösterir.
Arama sonuçları listesi
Arama; birim, oda, doktor, personel ve yatan hasta adlarında birlikte çalışır.
Hedef kartı: doktorun odası, birimi ve çalışma saatleri
Hedef kartı: oda, birim, kat ve çalışma saatleri. “Yol tarifi al” tarifi başlatır.

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.

Yol tarifi ekranı: mesafe özeti, kat krokisinde çizilmiş yol ve adım adım tarif
“22 m · 1 dk · aynı katta”. Kroki parmakla yakınlaştırılabilir.

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.

Tam ekran yol tarifi: üstte hedef, sağ üstte kapatma, altta Devam, sağda yazılı tarif
Tam ekran navigasyon. Sağ üstteki çarpı eski düzene döndürü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.

Yürüyüş çubuğu: büyük yön oku, adım yazısı, mesafe ve Geri / Devam düğmeleri
Haritanın altındaki çubuk: o anki adım, kaçıncı adım olduğu ve Devam. Krokinin altındaki ok yüzünüzün baktığı yönü gösterir.

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.
Blok kat kesiti: katlar üst üste, bulunulan ve hedef kat işaretli
Blok: “kaç kat çıkacağım?” sorusunun tek bakışta yanıtı.
Tüm hastane yerleşim şeması: bloklar ve aralarındaki köprüler
Tüm hastane: bloklar ve köprüler. Şematiktir; blokların birbirine göre gerçek açısı gösterilmez.

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

Kat planı ekranı
Kat planı: blok ve kat seçip tüm katı gezmek için.
Rehber ekranı: birimlerin listesi
Rehber: poliklinikler, servisler, laboratuvarlar türüne göre listelenir.
QR noktaları ekranı
QR noktaları: hangi kodun nerede olduğunu gösterir; personel için pratiktir.

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.

Panel/admin.html — tarayıcıda düzenlersiniz
TaslakDeğişiklik tarayıcınızda tutulur
site.json“Yayınla” ile indirilir
git pushDosya depoya gönderilir
CanlıDağıtım kendiliğinden çalışır

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.json silinirse uygulama yerleşik KTÜ Farabi demo binasına döner. Hiçbir ekran boş kalmaz.
Aynı anda tek kişi

İ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.

Yönetim paneli giriş sayfası: kullanıcı adı ve parola alanları ile Giriş yap düğmesi
Giriş sayfası. Parola yanlışsa formun altında uyarı çıkar; panel açılmaz.

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

Yönetim panelinin ilk açılışı: boş bina, bina bilgileri formu ve veri değiştirme düğmeleri
İlk açılış. Henüz yayınlanmış veri olmadığı için panel boş bir bina ile başladı.
  • Ü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üğmeNe yaparNe zaman
Boş binadan başlaTek bloklu, iki katlı boş bir iskelet kurar.Gerçek kurulumda.
Farabi demo verisinden başlaHazı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 aktarDaha ö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.

Farabi demo verisi yüklenmiş panel: A bloğunun 14 katı listeleniyor
“Farabi demo verisinden başla” sonrası: dolu bir binanın nasıl göründüğünü incelemek için en hızlı yol.

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.

  1. 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.

    Bina bölümü: ad alanları, şu anki veri sayaçları ve veri değiştirme düğmeleri
    “Şu anki veri” sayaçları (blok, kat, oda, birim, kişi, doktor) her değişiklikten sonra güncellenir.
  2. 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. 0 zemin kat, -1 birinci bodrum, 2 ikinci 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.

    Bloklar bölümü: iki blok satırı, koridor sayısı ve kat listeleri
    İki bloklu örnek. Turuncu uyarı kutusu, koridor sayısını sonradan değiştirmenin sonucunu hatırlatır.
  3. 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 = 32 oda 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.

    Katlar ve kroki bölümü: kat listesi, taraf başına oda kutuları ve kroki önizlemesi
    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ştirmeyin

    Koridor 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.

  4. 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:

    1. Birim adı yazın (“Göz Polikliniği”).
    2. 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).
    3. İsterseniz kısa kod, çalışma saatleri ve günler girin.
    4. 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).

    Birimler bölümü: dolu birim kartları ve boş kümelerdeki 'Buraya birim ekle' düğmeleri
    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.

  5. 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.

    Odalar bölümü: oda kodu, tür, ad, birim, kapalı ve kişi sütunlarından oluşan tablo
    Sağdaki “Kişi” sütunu, o odaya bağlı doktoru gösterir.
    İki ayrı kod var, karıştırmayın

    Oda kodu zemin katta Z harfini 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.

  6. 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.

    Kişiler bölümü: doktor, personel ve yatan hasta satırlarından oluşan tablo
    Tür süzgeçleri (Tümü / Doktor / Personel / Yatan hasta) ve ad-oda-uzmanlık araması.
    Kişisel veri

    Doktor, 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.

  7. 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”).

    Girişler bölümü: iki giriş satırı, kat ve konum seçimleri
    En az bir giriş tanımlayın: QR okutamayan ziyaretçinin tek başlangıç noktası budur.
  8. 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.

    QR noktaları bölümü: kod, nokta adı, tür, grafik düğümü ve durum sütunları
    “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.

  9. 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.

    Yayınla bölümü: doğrulama sonucu, site.json indir düğmesi ve git komutları
    Panelin tek çıktısı: site.json dosyası.

    Sırasıyla:

    1. site.json indir düğmesine basın (dosya “İndirilenler” klasörüne iner).
    2. Dosyayı proje klasöründe data/site.json olarak kaydedin; varsa eskisinin üstüne yazın.
    3. 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 push

    Push’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 git kullanmı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.

QR etiket yazdırma sayfası: her etikette QR kodu, nokta adı, kat ve kod
Her etikette QR, noktanın adı, blok/kat ve kodun kendisi bulunur.

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.

DurumNe yapılırQR 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.html parola 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

BelirtiSebebi 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üğü

BlokKendi asansör/merdiven kovaları olan bina bölümü. Kimliği tek harftir (A, B…).
Kat seviyesi0 zemin, 1 birinci kat, -1 birinci bodrum.
Ana koridorKatı boydan boya geçen omurga koridor; iki ucunda giriş olabilir.
Ara koridorAna koridordan dik çıkan koridor. Sayısı blok ayarıdır (4–6).
TarafBir ara koridorun sol ya da sağ yanı.
KümeBir ara koridorun bir yanındaki odaların tamamı. Bir kümeye bir birim yerleşir.
BirimPoliklinik, servis, laboratuvar gibi işlevsel bölüm.
Oda koduBlok + kat kısaltması + sıra: AZ-03 (zemin katta Z).
QR kodu / noktaDuvardaki etiketin kimliği: A0-03 (kat numarasıyla).
Emekli kodKarşılığı kalmamış, bir daha kullanılmayacak QR kodu.
TaslakPanelde yapılmış ama henüz yayınlanmamış değişiklikler; tarayıcınızda durur.
YayınDepodaki 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ından http://127.0.0.1:8080/. Kamera localhost üzerinde çalışır.
  • Testler: npm test (jsdom ile panel ve uygulama akışları dahil).
  • Örnek veri: bu kılavuzdaki bina data/ornek-bina.json dosyasındadır. data/site.json olarak 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.js içindeki CACHE sü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_PASSWORD ortam değişkenlerinden "kullanıcı:parola" dizisinin SHA-256 özeti üretilir ve nginx.conf içindeki yer tutucunun yerine yazılır (docker/30-admin-auth.sh). Giriş formu aynı özeti panel ç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: main dalına push, Coolify üzerinde yeniden dağıtımı tetikler.