Case study · Consell Insular de Formentera · Tourism regulation · 2026
The island's tourism register, public and searchable
Public search tool for tourism businesses, establishments and activities, with a role-based admin dashboard, case files with attachments and an API for third parties. Migrated from years of spreadsheets.
- Registers
- Search
- API
establishment categories
applications: public and management
public API with keys
The challenge
The register lived in Excel and ODS sheets accumulated over years, with no stable identifiers and no way for the public to consult it. It had to be migrated without losing its history, expose only what is public and give the team a management tool with full traceability.
The solution
A monorepo with two React applications and a shared package that defines the master schema. Firestore stores the complete case files and projects a public version with an aggregated index, so the search tool never touches internal data. Writes are atomic and audited, the Firestore and Storage security rules have their own tests, and a REST API with encrypted keys lets third parties query the register. The migration scripts generated stable identifiers from the historical files.
Project highlights
- 01
Public data kept apart from internal data
Automatic public projection with an index for fast search.
- 02
Tested rules
Access rules are tested against the emulator before every deployment.
- 03
Extra protection
App Check with reCAPTCHA Enterprise and encrypted API keys.
- 04
Backups
Weekly backups and point-in-time recovery.
Technology
- React 19
- Vite
- TypeScript
- Mantine
- pnpm monorepo
- Firestore
- Cloud Functions
- Firebase Auth
- App Check
- reCAPTCHA Enterprise
- Firebase Hosting