Sceenz is a modern event management platform built with Next.js and React. It allows users to discover, register for, and manage events, while providing hosts with analytics and management tools.
The Client-facing app is built using React Native and available at Sceenz App
- Event Discovery: Browse and search for upcoming events with detailed info cards.
- Event Registration: Register for events (with or without ticket price), including form validation and authentication.
- Host Dashboard: Manage your events, view registrations, and edit event details.
- Event Analytics: Visualize event stats such as registrations, traffic sources, and attendee locations.
- Map Integration: Interactive maps for event locations using Mapbox and Leaflet.
- Social Sharing: Share events via email, Twitter, Facebook, or copy a direct link.
- QR Code Generation: Downloadable QR codes for event check-in or sharing.
- Authentication: Google OAuth login via Supabase.
- Responsive UI: Built with custom UI components and Tailwind CSS for a modern look.
- Framework: Next.js (App Router, SSR, dynamic imports)
- UI: React, Tailwind CSS, Radix UI
- Database & Auth: Supabase (Postgres, Auth)
- Maps: Mapbox, Leaflet
- Charts: Custom canvas-based charts (placeholder for Chart.js or similar)
- Icons: Lucide
- State/Data: React hooks, @tanstack/react-query
- Type Safety: TypeScript throughout the codebase
- Linting: ESLint with Next.js and TypeScript configs
-
Install dependencies:
npm install # or yarn install -
Set up environment variables:
- Configure your Supabase credentials and Mapbox token in
.env.local.
- Configure your Supabase credentials and Mapbox token in
-
Run the development server:
npm run dev # or yarn dev -
Open http://localhost:3000 to view the app.
/app– Next.js app directory (pages, routes, modals)/components– Reusable UI and feature components (event cards, tables, stats, etc.)/lib– Utility functions/database.types.ts– TypeScript types for Supabase tables
MIT
Built with ❤️ using Next.js, Supabase, and modern React.