Official website of the IIITV Coding Club, built with Next.js and Supabase.
Live at iiitvcc.vercel.app.
- User authentication (sign-up, login, password reset)
- Blog publishing platform (only admins)
- Event management system (only admins)
- Admin control panel (only admins)
- Responsive design
- Supabase backend (PostgreSQL + Auth + Storage)
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19 |
| Styling | Tailwind CSS v4 |
| Backend | Supabase (PostgreSQL, Auth) |
| Deployment | Vercel |
-
Node.js v20 or later
-
pnpm — this project uses pnpm exclusively. Other package managers are not allowed.
-
Fork the repository on GitHub.
-
Clone your fork:
git clone https://github.com/<your-username>/iiitvcc.git cd iiitvcc pnpm install
Create a .env.local file in the project root:
NEXT_PUBLIC_SUPABASE_URL=<your-supabase-url>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key>
SUPABASE_STORAGE_URL=<your-storage-url>
NEXT_PUBLIC_PROJECT_ID=<your-project-id>
NEXT_PUBLIC_BUCKET=web_dataYou can find these values in your Supabase project settings.
pnpm devThe app runs at http://localhost:3000.
We welcome contributions from the community! To ensure a smooth review process, please follow these steps:
- Fork and Clone: Fork the repository on GitHub and clone it locally.
- Create a Branch: Create a descriptive branch for your changes:
git checkout -b feature/your-feature-name or git checkout -b fix/fix-name
- Write Code: Implement your changes or fixes.
- Format Your Code: Run Prettier to format your code before committing:
pnpm pretty
- Verify Build: You must verify that the project builds successfully without typescript or lint errors before pushing:
pnpm build
- Code Linting: We use Prettier to maintain code quality. Run the following command to lint your code:
pnpm pretty- Push and PR: Push to your fork and submit a Pull Request to the
newbranch of the main repository. Preview URLs will automatically be generated for your pull request on approval.
This project is licensed under the MIT License - see the LICENSE file for details.