Projects · Platform
PixieShift

PixieShift, vardiyalı bir işin haftalık işletim sistemidir. Yönetici haftayı kurar, yayımlar ve aynı kayıt çalışanın gördüğü, kioskun saat bastığı ve bordronun kesinleştirdiği şeydir. Bu adımların arasında hiçbir şey yeniden yazılmaz.
Çözümler
Hafta, tek listede
Sürükle-bıraklı, kişiye göre haftalık bir ızgara. Beceri, onaylı izin ve pasif kişiler hücrede sezdirilir. Bekleyen bir davet yerleştirilebilir. Giriş yapıp sonra pasifleştirilen biri yerleştirilemez. Onaylı izin günleri boş vardiya değil, izin olarak çizilir.
Yayımla, öteki taraf kımıldasın
Bu haftayı ileri kopyala ya da geçen haftayı buna al. Çakışmada vardiyayı atla ya da açık bırak. Yayımlamak ekibe haber verir. Bir etkinlik talebi vardiya üretebilir ve henüz kimsenin olmadığıları yayımlayabilir.
Satışa karşı işgücü
Günlük satış CSV olarak ya da satış noktasından gelir. Haftanın işgücü yüzdesi yayımlanmış listeden ve bu satışlardan hesaplanır, böylece programın maliyeti hafta bitmeden görünür.
Evrakı personel kendisi yapar
Açık vardiyalar alınır, takas istenir, izin yazılır, giriş, çıkış ve molalar bir kiosk PIN’i dahil kaydedilir. Çalışan kendi bordro özetini ofise sormadan okuyabilir.
Listeden başlayan bordro
Bir bordro çalışması önizler, satırları listeler, sonra CSV’ye kesinleşir. Defter orada duruyorsa QuickBooks ya da Xero bağlanabilir. Bahşiş ve molalar ikinci bir tabloda değil, vardiyanın yanındaki kayıt defterindedir.
Aynı kiracıda işe alım
Bir ilanın kamuya açık başvuru sayfası vardır. Liste, davet edilmiş ama henüz kabul etmemiş bir kişiyi şimdiden tutabilir; işe alım ile hafta iki ürün değildir.
Süreç
01
Oluştur
Bir vardiya, bir izin talebi, açık vardiya talebi ya da bir bordro çalışması kiracıya, lokasyona ve kişiye karşı bir kez yazılır.
02
Gör
Yönetici bunu listede ya da kuyrukta görür. Çalışan yayımlanmış haftayı görür, taslağı değil.
03
Onayla ya da yayımla
İzin onay bekler. Açık vardiya bir yönetici bekler. Bir hafta yayımlanıp yayımlanmadığı konusunda açıktır.
04
Öteki taraf güncellenir
Onaylı izin listede izin olarak görünür. Alınan açık vardiya açık havuzdan çıkar. Satış noktası satışları işgücü yüzdesine girer. Kesinleşen bordro CSV’dir, ikinci bir giriş değil.
Teknoloji
Beş uygulama, tek API
API, Node 22 üzerinde Express’tir, /api/v1 altında. Kiracı konsolu, platform yönetimi ve pazarlama sitesi ayrı ön yüzlerdir. Çalışan uygulaması Expo’dur. Uçtan uca testler kimliği ve kritik ekranları Playwright ile kapsar.
Postgres, Redis ve bir bellek yedeği
PostgreSQL 16 kiracı verisini tutar. Taşımalar sırayla uygulanan numaralı SQL dosyalarıdır. Redis ortak önbellek ve hız sınırı deposudur. Redis düşerse API, yerel bir demoda çalışsın diye bellek içi bir sınırlayıcıya döner.
İki oturum biçimi
Tarayıcı yenileme jetonunu httpOnly çerezde tutar ve kimlik bilgilerini gönderir. Mobil uygulama jetonu hâlâ JSON gövdesinde yollar. Tek bir IP’den giriş denemeleri on beş dakika kilitlenir.
Tek bir şehre gömülü olmayan kurallar
Lokasyon ve departman kuralları ezilebilir. Türk fazla mesaisi ve New York Fair Workweek paketi kural kümesindedir, böylece aynı vardiya motoru birden fazla iş hukukuna hizmet eder.
Platform yöneticisinin yapmasına izin verilen
Kiracı sağlığı, kimliğe bürünme, bir IP izin listesi, denetim kaydı, planlar ve faturalar. Faturalama Polar üzerinden gidebilir. Slack bir webhook’tur. Entegrasyon kataloğu gizli bir bağ değil, bir listedir.
- Node 22
- Express
- PostgreSQL 16
- Redis
- Expo
- Playwright