ULagos 360° is a real-time space management web panel built for Universidad de Los Lagos open-day events. Tutors across the campus open the same web app simultaneously and see a live dashboard of every classroom, coffee break station, campus tour stop, workshop, and active tour group — with every status change instantly reflected for all connected users via Socket.IO WebSockets. No page refreshes, no radio calls, no spreadsheets: just a single source of truth that updates the moment anyone presses a button.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Pewiz/ulagos360/llms.txt
Use this file to discover all available pages before exploring further.
The Problem It Solves
Running a university open day means coordinating dozens of physical spaces and dozens of tutors who are scattered across a large campus. Without a shared coordination tool, tutors have no way to know whether the Aula Magna is already full, whether a coffee break station is en route, or which tour groups have finished their route. ULagos 360° removes that uncertainty: any tutor can update the status of any space, and every other tutor sees the change within milliseconds, keeping the whole event running smoothly even when team members are not in the same building.Space Categories
ULagos 360° organises every tracked location into five categories, each with its own lifecycle of statuses.| Category | What it covers | Status flow |
|---|---|---|
| Bienvenida | Welcome classrooms such as the Aula Magna, Video Conferencia, and Sala 202 where arriving students are greeted | disponible → en_camino → ocupado → disponible |
| Coffee Break | Refreshment areas including the Hall Principal, Casino, and study rooms where students take a break between activities | disponible → en_camino → ocupado → disponible |
| Campus Tour | Every individual stop on the campus tour route — laboratories, sports facilities, faculty buildings, and outdoor plazas | disponible → en_camino → ocupado → disponible |
| Talleres | Faculty-run workshops assigned to specific rooms and supervisors, covering all degree programmes offered by the university | disponible → en_curso → terminado → disponible |
| Tours en Curso | Active tour groups, each named after the tutor leading it and the visiting school they are hosting at that moment | disponible → en_curso → terminado → disponible |
Tech Stack
| Layer | Technology |
|---|---|
| UI framework | React 19 |
| Build tool | Vite 7 (with @vitejs/plugin-react-swc) |
| Styling | Tailwind CSS 4 (Vite plugin) |
| Global state | Zustand 5 (persisted to localStorage) |
| Real-time transport | Socket.IO Client 4 |
| Backend | Separate Socket.IO server hosted on Railway |
Explore the Docs
Quickstart
Clone the repo, install dependencies, and have the panel running locally in under five minutes.
Deployment
Build the Vite SPA, publish it to Vercel or Netlify, and wire it to the Railway backend.
Spaces & Categories
Understand how space types, statuses, and the catalogue in
constants/spaces.js work together.Real-Time Sync
Deep-dive into the Socket.IO event flow, optimistic updates, and offline resilience strategy.
ULagos 360° is split across two separate repositories. This documentation covers the frontend only — a Vite + React SPA that you can deploy anywhere static files are served. The backend is an independent Socket.IO server running on Railway. The frontend connects to it via the URL hardcoded in
src/hooks/useSocketConnection.js. You do not need the backend source to run or deploy the frontend, but you do need the backend reachable and its CORS policy set correctly.