Cultura Constitución.
A PWA for the Culture and Tourism Department of the Municipality of Constitución: a cultural events calendar, event sign-up with numbered seats at the Municipal Theater, resident benefits and a dashboard with real-time metrics.
Role
Full-stack development (Awna team)
Year
2026

The problem
The town's cultural offering needed a home of its own: a single events calendar, controlled capacity, and knowing who holds each theater seat so staff can call to confirm before the show.
The solution
Interactive calendar
Month, week, day and list views, with filters by category, venue and type. It installs as an app and works offline for anything already visited.
Numbered seats
A map of the Municipal Theater with 469 seats: one seat is one person, with their name. Only event managers see the names, never other residents.
Culture pass and benefits
Registered residents see the full calendar, exclusive events and discounts at local businesses. The filter lives on the server.
Role-based dashboard
Admin, staff and citizen, each with their own view: metrics, attendees, users, newsletter and CSV export.
Stack
Frontend
Backend
PWA
Services
Architecture
Access control belongs to the server, not the browser: whatever an anonymous visitor can't see never reaches their screen.
Resident
Vue 3 PWA
Installable, with events and images cached via Workbox.
API
Express + Prisma
JWT and role guards on every route.
Seats
Atomic booking with clear errors if someone else got the seat.
Data
PostgreSQL
Events, venues, seats and registrations.
Cloudinary
Event images.
Management
Admin dashboard
Real-time metrics, attendees and users.
Exports
Attendees and subscribers to CSV.
Screens
01 / 06





Next project · 06
GORE Valparaíso→