Skip to content

GraphicsProgrammingKnights/gpkweb

Repository files navigation

Graphics Programming Knights Web Dev Repo

GPK Logo

Team

Message Sebastian through discord if you have an interest in contributing.

Tech Stack

  • Next.js
  • Three.js
  • TypeScript
  • ESLint
  • Node.js (LTS)

Getting Started

Clone Repository

git clone https://github.com/GraphicsProgrammingKnights/gpkweb

Navigate to project directory

cd gpkweb

Prerequisites

  • Node.js 20+ (LTS recommended)
  • npm

Set up Node.js version (using nvm)

Use the following commands to ensure you are using Node.js 20 specified in .nvmrc

nvm install  # Install
nvm use      # Switch to version

Install dependencies

npm install

Run development server

npm run dev

Open http://localhost:3000

Lint

npm run lint

Build

npm run build
npm run start

Git Workflow

  • main is protected and always stable.

  • Create branches from main:

    git checkout -b <branch-type>/<short-description>

    Examples:

    • feature/about-section
    • fix/mobile-view-bug
    • chore/docker-setup
  • Open a Pull Request into main.

  • GitHub Actions CI/CD runs and must pass checks.

  • At least 1 teammate review required before merge.

  • Use squash merge to main for clean history.

Commit Convention

Follow this commit style (examples provided):

  • feat: add hero section
  • fix: correct navbar mobile layout
  • chore: update dependencies
  • docs: improve setup instructions

Project Structure

.
├── app/                   # Next.js routes
├── components/            # Reusable UI components
├── public/                # Static assets
├── styles/                # Global/component styles
├── .github/               # GitHub templates/workflows
│   └── workflows/         # CI/CD pipelines
├── Dockerfile             # Production container
├── docker-compose.yml     # Local Docker setup
├── .dockerignore          # Docker build exclusions
├── tsconfig.json          # TypeScript configuration
├── package.json
└── README.md

Docker

Docker Prerequisites

Build and Run with Docker Compose (Recommended)

# Build and start the container
docker compose up --build

# Run in background
docker compose up -d --build

# Stop the container
docker compose down

Build and Run with Docker (Manual)

# Build the image
docker build -t gpkweb .

# Run the container
docker run -p 3000:3000 gpkweb

Open http://localhost:3000

Docker Commands Reference

Command Description
docker compose build Only Build
docker compose up --build Build and start
docker compose up -d Start in background
docker compose down Stop containers
docker compose logs -f View logs
docker compose ps List running containers

Infrastructure

CI/CD Workflows

GitHub Actions workflows run automatically:

Workflow Trigger What it does
CI PRs and pushes to main Runs lint and build
Docker Build PRs/pushes affecting app code or Docker files Verifies Docker image builds

View workflow runs: Actions tab

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Website for Graphics Programming Knights @ UCF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors