Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KingPsychopath/oooc-fete-finder/llms.txt
Use this file to discover all available pages before exploring further.
Welcome to OOOC Fête Finder
OOOC Fête Finder is a modern Next.js application designed to help people discover Fête de la Musique events across Paris. Built with performance and reliability in mind, it features a comprehensive admin workflow, robust data management, and seamless integrations.What is OOOC Fête Finder?
OOOC Fête Finder provides a curated, searchable directory of live music and cultural events for Fête de la Musique in Paris. The app combines:- Interactive event discovery with map-based browsing by arrondissement
- Flexible filtering by categories, tags, date, time, and location
- User engagement tracking with calendar sync and social proof
- Host event submissions for community-contributed events
- Admin workflow for content management, scheduling, and analytics
- Postgres-backed data store for reliability and scalability
Key features
Event discovery
Browse events by arrondissement with interactive maps, filters, and search. Features include featured event spotlights, promoted placements, and saved event tracking.
Admin workflow
Complete content management system with event editor, submissions moderation, featured event scheduler, and engagement analytics dashboard.
Robust data management
Postgres-backed event store with CSV fallback, Google Sheets import/preview, coordinate caching, and automated backups.
Security & performance
Rate-limited APIs, abuse protection, ISR caching, and serverless-optimized architecture for Vercel deployments.
Tech stack
OOOC Fête Finder is built with modern technologies optimized for performance and developer experience:- Framework: Next.js 16 with App Router and React Server Components
- Database: PostgreSQL with the
postgresdriver - Styling: Tailwind CSS 4 with custom design system
- UI Components: Base UI (React) with custom components
- Maps: MapLibre GL for interactive event maps
- Integrations: Google Sheets API, Google Maps Geocoding API, Stripe webhooks
- Deployment: Optimized for Vercel with ISR caching
Architecture highlights
Data flow
InDATA_MODE=remote (production mode), events are read from:
- Postgres event store (primary source) — managed via
/admin/content - Local CSV fallback (
data/events.csv) — used if Postgres is unavailable
Caching strategy
The app uses Next.js built-in caching for optimal performance:- Homepage (
/): ISR with 5-minute revalidation - Featured events: 60-second cache on lookups
- Event detail pages: Dynamic rendering
- Admin pages: Always fresh with
force-dynamic
Identity and share links
Each event has a stable, immutable Event Key (evt_...) used in share URLs:
eventKey is canonical; the slug is decorative for SEO. Share links redirect to the homepage modal state for a seamless browsing experience.
Get started
Quick start
Get the app running locally in minutes with our step-by-step guide.
Environment setup
Configure all environment variables for development and production.
Admin workflow
Learn how to manage events, schedule features, and moderate submissions.
Common use cases
Running locally for development
Running locally for development
- Clone the repository
- Copy
.env.exampleto.env.localand configure required variables - Run
pnpm installto install dependencies - Set up Postgres and run
pnpm bootstrap:postgres-store - Start the dev server with
pnpm dev
Deploying to production
Deploying to production
- Set up a Postgres database (Vercel Postgres, Neon, etc.)
- Configure environment variables in your deployment platform
- Set
DATA_MODE=remote(required in production) - Deploy to Vercel or your preferred platform
- Run bootstrap script to seed initial data
- Configure optional post-deploy revalidation webhook
Managing event content
Managing event content
- Access
/adminwith your admin credentials - Navigate to Content → Event Editor
- Add, edit, or remove events
- Use Placements → Featured Events Manager to schedule spotlights
- Backup and revalidate from Operations
Importing events from Google Sheets
Importing events from Google Sheets
- Set up a Google Service Account with Sheets API access
- Configure
GOOGLE_SERVICE_ACCOUNT_KEYandGOOGLE_SHEET_ID - In
/admin/operations, use Import from Google Sheet - Review and save the imported data
- Revalidate to make changes live
API endpoints
OOOC Fête Finder provides several API endpoints:- Public APIs: Event submissions, tracking, user preferences
- Admin APIs: Health checks, data store status, session management
- Webhooks: Stripe payment processing, post-deploy revalidation
- Cron jobs: Automated cleanup and backups
Next steps
Set up your local environment
Follow the Quick start guide to get the app running on your machine.
Configure environment variables
Review the Environment setup to understand all configuration options.
Understand the architecture
Read the Architecture overview to learn how the app works.
Learn the admin workflow
Check out the Admin workflow guide to manage events effectively.
Need help?
If you encounter issues or have questions:- Check the Troubleshooting guide
- Review Logging and observability
- Open an issue on GitHub