Sextante — Observatory nights
Key features
Visibility engine: month, lunar phase and minimum altitude (Madrid)
Daily sky: open / limited / closed; SKY_CLOSED → 409
15-min hold with server expiresAt, ~30 s sweeper, same-user 409 and cross mutex
QR SVG on confirmation + staff check-in (second scan 409)
Live queue after check-in: now-viewing and reorder
Derived meridian points: 10 pts × partySize completed
Description
Sextante is the online booking desk of a municipal observatory for the visitor. Pick a dome, night and slot, see whether the sky is open, and build a list of objects that are actually visible that date in Madrid. The telescope is exclusive: one group per instrument and slot. You hold for 15 minutes with a server-side expiresAt, confirm, and get a QR ticket. Staff scan the code at the dome threshold; the night becomes checked_in and the list turns into a live queue (now-viewing + reorder). In My nights you browse history, cancel with a 24 h policy and earn meridian points derived from completed nights (10 pts × partySize). The truth layer is the visibility engine plus daily sky: an object never enters the picker if it is not visible, and SKY_CLOSED blocks the sale.
Technologies used
Angular
TypeScript
SQLite