A collaborative coding platform for college students featuring Supabase authentication, community blogs, competitive coding stats, real-time features, and an online code editor.
College Coding Club is a full-stack web application built for college students to learn, collaborate, and grow together.
This app integrates:
- Django backend
- React frontend
- Supabase authentication + database
- LeetCode API for coding stats
- WebSocket-based real-time notifications
- Collaborative blog & discussions
- Integrated code editor with test case execution
- Email + Password login/signup
- Email verification
- Secure session management
- Token-based authentication for Django API
- Syntax-highlighting editor
- Run code with predefined test cases
- Supports multiple languages (Python/JS)
- Create posts
- Comment on posts
- Likes + threaded replies
- College-focused discussion channels
- WebSocket notifications
- Live updates for community interactions
- LeetCode integration to fetch user stats automatically
- React (Vite)
- Tailwind CSS
- Axios
- Django
- Django REST Framework
- Supabase Python Client
- WebSockets (Django Channels)
- Supabase (PostgreSQL + Auth)
python -m venv venv
source venv/bin/activate # Linux & Mac
venv\Scripts\activate # Windowspip install -r requirements.txtpython manage.py migrate
python manage.py runserverBackend: http://localhost:8000
cd frontend
npm installnpm run devFrontend: http://localhost:5173
Start backend:
venv\Scripts\activate
cd backend
python manage.py runserverStart frontend:
cd frontend
npm run devYour app is live 🎉
Use the following flow:
| Task | Branch Format |
|---|---|
| New feature | ticket-number |
| Commit | [ticket-number]: |
[Work Type] - Message |
|
| Hotfix | hotfix/<issue> |
| Release | release/v1.0.0 |
Example:
git checkout -b feature/auth-system
-
Fork repo
-
Create new branch:
git checkout -b feature/cool-feature -
Commit changes:
git commit -m "[Ticket Number] [UI or BE or DB or OPS]: Commit Message" -
Push to GitHub:
git push origin ticket-number -
Create Pull Request
- Ensure
.envis correct - Check CORS in Supabase Dashboard
- Ensure email verification is enabled
Upgrade websockets:
pip install websockets==12.0Add in Django settings:
CORS_ALLOW_ALL_ORIGINS = True