Ralli is a high-performance, real-time scavenger hunt platform designed for modern adventures. Built with React, TypeScript, and Supabase, it provides a seamless experience for both organizers and participants.
- 🚀 Real-Time Leaderboards: Live updates as teams progress through waypoints.
- 📸 Photo Submissions: Participants upload proof of arrival, with automated image compression for speed.
- 📍 GPS Verification: Precision-based check-ins ensures teams are exactly where they need to be.
- 🔒 Secure Architecture: Hardened Row-Level Security (RLS) and protected organizer routes.
- 📱 PWA Ready: Optimized for mobile performance and "app-like" experience.
- 🕵️ Hint System: Unlock clues with point penalties to keep the game moving.
- Frontend: React 19 + Vite
- Styling: Tailwind CSS
- Backend & Auth: Supabase
- Static Analysis: Biome
- Icons: Lucide React
- Maps: Leaflet
- Node.js (v18+)
- A Supabase Project
-
Clone the repository
git clone https://github.com/traali/Ralli.git cd Ralli -
Install dependencies
npm install
-
Environment Setup Create a
.envfile in the root:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_anon_key
-
Start the development server
npm run dev
This project follows a strict Development Constitution focusing on:
- Zero-Warning Linting: Powered by Biome.
- Safety First: JWT-based security and atomic state transitions.
- Resilience: Network-aware photo uploads and GPS accuracy thresholds.
This project is licensed under the MIT License.
Created with ❤️ by the Ralli Team.