Kevin Leiva
es · Leer en español← Projects
05Case studyPWA · Government · Culture

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

Cultura Constitución

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

01

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.

02

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.

03

Culture pass and benefits

Registered residents see the full calendar, exclusive events and discounts at local businesses. The filter lives on the server.

04

Role-based dashboard

Admin, staff and citizen, each with their own view: metrics, attendees, users, newsletter and CSV export.

Stack

Frontend

Vue 3ViteTailwindPiniaFullCalendar

Backend

NodeExpressPrismaPostgreSQL

PWA

vite-plugin-pwaWorkbox

Services

JWTCloudinaryStreaming CSV
Vue 3ViteTailwindPiniaFullCalendarNodeVue 3ViteTailwindPiniaFullCalendarNodeVue 3ViteTailwindPiniaFullCalendarNodeVue 3ViteTailwindPiniaFullCalendarNode

Architecture

Access control belongs to the server, not the browser: whatever an anonymous visitor can't see never reaches their screen.

1

Resident

Vue 3 PWA

Installable, with events and images cached via Workbox.

2

API

Express + Prisma

JWT and role guards on every route.

Seats

Atomic booking with clear errors if someone else got the seat.

3

Data

PostgreSQL

Events, venues, seats and registrations.

Cloudinary

Event images.

4

Management

Admin dashboard

Real-time metrics, attendees and users.

Exports

Attendees and subscribers to CSV.

Screens

01 / 06
Home
01 HomePublic
Calendar
02 CalendarResident
Theater seats
03 Theater seatsResident
Benefits
04 BenefitsResident
Dashboard
05 DashboardAdmin
Event management
06 Event managementAdmin

Next project · 06

GORE Valparaíso→

Kevin Leiva · kilp.dev03@gmail.com
LinkedIn
© 2026