Digital festival companion which allows users to live track their own and their friends' stage location, view all festival acts, mark favorite acts, and profile management.
This project is a modern web application for managing and viewing a festival timetable, built with Next.js, React, and Supabase. It allows users to:
- View all festival acts by day and stage
- Mark favorite acts and see them in a dedicated section
- View and update their profile
- Track live stage activity (Live Tracker)
- Timetable View:
- Browse acts by day and stage
- Filter acts and mark favorites
- See a personalized list of favorite acts
- Authentication:
- Register with email, password, and username
- Login with email or username (username resolves to email)
- Secure authentication via Supabase
- Profile Management:
- Update user profile and avatar
- Live Tracker:
- See which acts are currently playing on each stage
- Next.js (App Router)
- React
- Supabase (Database & Auth)
- Tailwind CSS (UI Styling)
- Lucide Icons
app/
— Next.js app directory (routes, pages, layouts)components/
— Reusable UI and feature componentslib/
— TypeScript types, static festival data, and utilitiesactions/
— Server actions for authentication, favorites, and profilepublic/
— Static assets
- Install dependencies:
pnpm install # or npm install
- Configure environment:
- Copy
.env.example
to.env.local
and fill in your Supabase credentials.
- Copy
- Run the development server:
pnpm dev # or npm run dev
- Open the app: Visit http://localhost:3000
- The app uses Supabase for authentication and as a backend database.
- Festival data (acts, stages, days) can be loaded from static files or Supabase tables.
- User profiles are stored in the
profiles
table, with email and username.
- To add or update festival acts, edit
lib/festival-data.ts
or update the Supabaseacts
table. - UI components are in
components/ui/
and can be customized with Tailwind CSS.
MIT
Find.me — Your digital festival companion!