A modern landing page for COC (Community of Coders) built with Next.js, TypeScript, and Tailwind CSS.
- Clone the repository
git clone https://github.com/SharanRP/COC_Landing.git
cd COC_Landing- Install dependencies
npm install- Run development server
npm run dev
# or with Docker
docker compose up --buildOpen http://localhost:3000 to view the project.
- Node.js (v18 or higher)
- npm (v9 or higher)
- Docker (optional)
- Copy the environment template:
cp .env.example .env.production- Install husky hooks:
npm run prepare
git config core.hooksPath .huskydocker compose up --buildRequired in .env.production:
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_secret
POSTHOG_KEY=your_key
POSTHOG_HOST=your_hostAll commits and branches are strictly enforced through:
- Local git hooks (husky)
- Server-side hooks
- GitHub Actions
- GUI client configurations
All branches must follow the pattern:
username/feature-name
Example: john/add-ai-page
Enforcement:
- Pre-receive hooks
- GitHub Actions
- Local git hooks
- No force pushes allowed
Before committing, the following are automatically enforced:
- Code linting and formatting
- TypeScript type checking
- Successful build
- Branch name validation
- Commit message format
Follow the conventional commits specification:
type(scope): description
Examples:
feat(ai-page): add machine learning section
fix(navbar): resolve mobile menu overlap
docs(readme): update installation steps
Types:
feat: New featurefix: Bug fixdocs: Documentationstyle: Formattingrefactor: Code restructuringtest: Testschore: Maintenance
- Create branch following naming convention
- Make changes and commit following guidelines
- Push changes and create PR to
developbranch - Ensure all checks pass
- Request review
npm run dev- Start development servernpm run build- Build production bundlenpm run start- Start production servernpm run lint- Check code stylenpm run type-check- Verify TypeScriptnpm run prepare- Install husky hooks
├── app/ # Next.js pages
├── components/ # React components
├── lib/ # Utilities and helpers
├── public/ # Static assets
└── styles/ # Global styles
The project uses husky for git hooks:
- Pre-commit: Runs linting, type checking, and build
- Commit-msg: Validates commit message format and branch naming
- Next.js 14
- TypeScript
- Tailwind CSS
- ESLint
- Prettier
- Husky
- Commitlint
This project is licensed under the MIT License.