Official website of DHCP, the cybersecurity community of Diponegoro University.
Built with Next.js 15 (App Router, static export), TypeScript, and Tailwind CSS v4. Deployed to GitHub Pages via GitHub Actions.
- Next.js 15 — App Router,
output: 'export'static site - React 19
- TypeScript
- Tailwind CSS v4 — CSS-first config (
@import "tailwindcss") - next/font — Orbitron (display) + JetBrains Mono (mono)
app/
globals.css # Tailwind import + theme tokens (dark/light)
layout.tsx # Root layout, fonts, metadata
page.tsx # Landing page assembling all sections
components/
Header.tsx # Sticky header: logo, nav, GitHub, theme toggle
Hero.tsx # Hero section with construction badge
About.tsx # Community intro + stats
Tracks.tsx # CTF tracks grid (Web/Pwn/Reversing/Crypto/Misc)
Writeups.tsx # Write-up cards (placeholder)
Achievements.tsx # Achievements table (placeholder)
Members.tsx # Member roster grid (placeholder)
Contact.tsx # Contact / CTA section
Footer.tsx # Footer
ThemeToggle.tsx # Dark/light toggle (client component)
lib/
data.ts # Typed placeholder data: writeups, achievements, members, tracks
public/
logo.png # Team logo (from GitHub org avatar)
favicon.png # Favicon
.github/
workflows/
deploy.yml # GitHub Actions: build + deploy to Pages
npm install
npm run devOpen http://localhost:3000.
npm run buildProduces a static site in dist/. The next.config.ts is configured with output: 'export', distDir: 'dist', and images: { unoptimized: true }.
npm run lintDeployment is automatic via GitHub Actions (.github/workflows/deploy.yml):
- On every push to
main, the workflow runsnpm ci+npm run build, uploads thedist/folder as a Pages artifact, and deploys it to the GitHub Pages org site athttps://dhcp-team.github.io. - No
basePathis needed (org Pages site serves from root).
To deploy manually, build locally and push to main, or run the workflow from the Actions tab.
All content (members, write-ups, achievements, tracks) lives in lib/data.ts as typed arrays. Replace the placeholders with real data when ready — no component edits required.
Content and brand belong to DHCP team. Source code is MIT.