This repository hosts the UVA DSA website. The application code lives in the uva-dsa folder and is a Next.js (React + TypeScript) app styled with Tailwind CSS.
- Clone the repo
# HTTPS
git clone https://github.com/uva-dsa/uva-dsa.github.io.git
# or SSH
git clone git@github.com:uva-dsa/uva-dsa.github.io.git- Change into the app directory
cd uva-dsa.github.io/uva-dsa- Install dependencies (Node.js required; see prerequisites below)
npm install- Run the dev server
npm run devThen open http://localhost:3000 in your browser.
- Git
- Node.js (20 LTS recommended; >= 18.18 supported)
- npm (bundled with Node.js)
Verify your tools:
git --version
node -v
npm -vWindows
- Recommended: Install Node.js LTS using one of:
- Winget:
winget install OpenJS.NodeJS.LTS - Chocolatey:
choco install nodejs-lts - Installer: download the LTS installer from nodejs.org and follow prompts
- Winget:
- After install, restart your terminal and verify
node -vandnpm -v.
macOS
- Using Homebrew (recommended):
brew install node@20- Optionally, set it as default:
brew link --force --overwrite node@20
- Or use the macOS installer from nodejs.org.
Linux
- Using a package manager may provide older versions. Two common options:
- Node Version Manager (nvm): install from nvm-sh and then run
nvm install --lts. - NodeSource (Debian/Ubuntu):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -thensudo apt-get install -y nodejs.
- Node Version Manager (nvm): install from nvm-sh and then run
# Start dev server (http://localhost:3000)
npm run dev
# Build for production (outputs to .next)
npm run build
# Start production server (after build)
npm start
# Lint the codebase
npm run lintTo preview the optimized build locally:
cd uva-dsa
npm run build
npm startOpen http://localhost:3000 to test the production server.
./– Repo root (this README)./uva-dsa– Next.js application (source, config, scripts)src/– App source codepublic/– Static assetsnext.config.ts,tsconfig.json,tailwind.config.ts– Project config
-
Command not found: node or npm
- Ensure Node.js is installed and your terminal restarted.
- On macOS/Linux, confirm your PATH includes your Node installation.
-
Node version errors when starting/building
- Upgrade to Node 20 LTS (recommended) or >= 18.18.
- If multiple Node versions are installed, use
nvm use --lts(if using nvm).
-
Port already in use (3000)
- Stop the process using the port or run
PORT=3001 npm run dev.
- Stop the process using the port or run
From the repo root, work inside uva-dsa. Use feature branches and open PRs. Run npm run lint and ensure the site starts locally before submitting changes.