A modern web application for tracking and competing in running activities with friends. Built with Next.js and Supabase.
- 🏃♂️ Track running distance and time
- 📊 Leaderboard with total distance, runs, and pace metrics
- 👤 User profiles with customizable avatars
- 📱 Responsive design for all devices
- 🌓 Light/dark mode toggle
- 🔐 Secure authentication using Supabase Auth
-
Frontend:
- Next.js 15 (App Router)
- React 19
- TypeScript
- Tailwind CSS 4
- Shadcn UI Components (with Radix UI)
-
Backend:
- Supabase (Authentication, Database, Storage)
- PostgreSQL (with Row Level Security)
Create a .env.local file in the root directory with your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key# Install dependencies
bun install
# Run the development server
bun devOpen http://localhost:3000 with your browser to see the application.
The application uses the following main tables:
profiles- User profiles linked to Supabase Authruns- Running activities with distance and timeleaderboard- View that aggregates running stats for the leaderboard
bunx --bun shadcn@latest add button
bunx --bun shadcn@latest add card
# etc.This Next.js app can be deployed on platforms like Vercel or any other service that supports Next.js applications.
# Build for production
bun run build
# Start production server
bun startCheck out the live demo of RunComp at https://runcomp.vercel.app
Experience the app without creating an account by using the demo credentials:
- Email: demo@example.com
- Password: demo123