Reprodisseny’s web platform is a Nuxt 4 application that combines static-site generation (SSG) with incremental static regeneration (ISR). Content is managed in SharePoint, synced to local JSON at build time, and served through Nitro server routes. File attachments and media assets are stored in Azure Blob Storage.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/devRepro/reprodisseny/llms.txt
Use this file to discover all available pages before exploring further.
Frontend
Vue 3 + Nuxt 4, Tailwind CSS, shadcn-nuxt, reka-ui. Pages are pre-rendered at build time and revalidated on a per-route schedule.
Backend
Nitro server routes handle form submissions, search, and CMS data. Rate limiting uses a local SQLite database via better-sqlite3.
CMS
SharePoint Lists are the source of truth for categories, products, and price requests. A sync script fetches data via Microsoft Graph and writes
cms/catalog.json before each build.Integrations
Azure Blob Storage hosts media assets and quote-request attachments. Email notifications are sent via SMTP or Microsoft Graph/SendGrid depending on the configured provider.
Request lifecycle
Route caching strategy
| Route pattern | Strategy | TTL |
|---|---|---|
/categorias/** | ISR | 600 s (10 min) |
/api/categorias/** | SWR | 300 s (5 min) |
/productos/** | ISR | 600 s (10 min) |
/api/productos/** | SWR | 300 s (5 min) |
nuxt.config.ts under routeRules.
Data stores
| Store | Purpose | Access |
|---|---|---|
| SharePoint CMS Lists | Categories, products, page content | Microsoft Graph API (build-time sync) |
| SharePoint CRM Lists | Price request submissions, comments | Microsoft Graph API (runtime) |
Azure Blob (webcms container) | Media images, quote attachments | Public CDN + Drive API |
| SQLite (in-process) | IP-based rate limiting | better-sqlite3 (runtime only) |