CUK Commit is a university-exclusive dating web app built for students of Central University of Karnataka (CUK). It focuses on real connections — relationships, friendships, and meaningful campus interactions — rather than mindless swiping.
🎯 Goal: help students connect inside campus in a safe, verified, and structured way.
- Email + Password login/signup
- Email verification
- Forgot password / Reset password
- Google Sign-In (OAuth) using Supabase
- Student identity-based user accounts
- Onboarding flow to complete profile
- User profile completion checks before discovery access
- Profile Setup (name, gender, etc.)
- Photo Upload (min 2 photos, max 6)
- Interest selection
- Bio setup
- Slot-based upload (6 grid fixed)
- Remove photo support
- Upload progress indicator per tile
- Powered by Supabase Storage
- Discover page for browsing matches
- Profile-driven filtering readiness (future scope)
- React + TypeScript
- Vite (dev server & build)
- Tailwind CSS for styling
- Reusable UI components in
src/components
- Supabase
- Supabase Auth
- Supabase Database (
profilestable, etc.) - Supabase Storage (user photos)
This repo uses a conventional Vite + React structure. Relevant files/folders:
src/
├── assets/
├── components/
│ ├── AboutSection.tsx
│ ├── AppPreviewSection.tsx
│ └── ui/ # reusable UI primitives
├── hooks/
├── lib/
│ ├── supabase.ts # Supabase client + helpers
│ └── utils.ts
├── pages/
│ ├── Index.tsx
│ └── NotFound.tsx
├── App.tsx
└── main.tsx
public/
index.html
package.json
vite.config.ts-
Splash / Landing → Welcome
-
Auth Gate
- Not logged in: Welcome / Login / Signup
- Logged in: If profile incomplete → onboarding screens; else → Discover
If you integrate mobile or external flows, configure redirect URLs in Supabase for OAuth and password reset callbacks. For web deployments, the app uses the single-page app routing provided by Vite/React.
Prerequisites: Node.js (16+ recommended) and npm or pnpm.
- Clone the repo
git clone https://github.com/CUK-COMMIT/cuk-commit.git
cd CUK_COMMIT- Install dependencies
npm install- Configure environment variables
Create a .env file (or use Vercel environment vars) with these keys:
VITE_SUPABASE_URL="your_supabase_url"
VITE_SUPABASE_ANON_KEY="your_supabase_anon_key"Note: Vite exposes env vars prefixed with VITE_ to the client.
- Run the dev server
npm run dev- Build for production
npm run build- Enable Email Auth
- Enable Google OAuth (if used)
- For web OAuth callbacks, add your deployed site URL (e.g.
https://your-app.vercel.app) in Supabase settings.
- Create a bucket such as
user-photosand ensure rules allow authenticated uploads (or adjust security rules to your needs).
- Do not commit any secrets. Use
.envlocally and platform env vars in production (Vercel, Netlify, etc.). - Supabase anon keys are safe to be client-visible but keep service_role keys secret and never expose them in the frontend.
- Match algorithm improvements
- Filters: department/year/interests
- Chat system (with moderation/reporting)
- Profile verification badge system
- Admin dashboard for moderation
This project is NOT open source.
All Rights Reserved.
| Profile | Name |
|---|---|
![]() |
Abhay Singh |
![]() |
Ayush Tandon |
![]() |
Abhay Dwivedi |


