Campus Event & Club Management Platform
Features • Demo • Quick Start • Documentation • Contributing
Clunite is a campus event and club management platform that helps students discover events and clubs while empowering organizers with powerful management tools. Built with modern web technologies like Next.js, TypeScript, and Supabase.
- Dual Dashboard System - Separate interfaces for students and organizers
- Event Discovery & Registration - Browse, filter, and register for campus events
- Club Management - Create, manage, and verify clubs with secure PIN authentication
- Real-time Updates - Live data powered by Supabase
- Analytics Dashboard - Comprehensive insights for event organizers
- Modern Responsive Design - Beautiful UI built with shadcn/ui and Tailwind CSS
- Type-Safe Codebase - Full TypeScript support with form validation
Frontend: Next.js 14 • React 18 • TypeScript • Tailwind CSS • shadcn/ui
Backend: Next.js API Routes • Supabase
Database: PostgreSQL
Storage: Vercel Blob
Tools: React Hook Form • Zod • Vercel Analytics
- Node.js 18.x or higher
- npm / pnpm / yarn
- Supabase account and project
- Vercel account (for deployment and Blob storage)
-
Clone the repository
git clone https://github.com/yourusername/clunite.git cd clunite -
Install dependencies
npm install # or pnpm install # or yarn install
-
Set up environment variables
Create
.env.localwith your credentials:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key BLOB_READ_WRITE_TOKEN=your_blob_token RESEND_API_KEY=your_resend_key
-
Set up the database
Run these SQL scripts in your Supabase SQL editor (in order):
scripts/init-database-v2.sqlscripts/functions.sqlscripts/rls-policies.sqlscripts/seed-data-v2.sql(optional demo data)
-
Start the development server
npm run dev
Open http://localhost:3000 in your browser
Deploy to Vercel in 3 steps:
- Push your code to GitHub
- Import your repository on vercel.com
- Add environment variables and deploy
For detailed instructions, see docs/DEPLOYMENT.md
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For bug reports or feature requests, use GitHub Issues
MIT License - see LICENSE for details