Skip to content

kabeier/ProjectRainbows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjectRainbows

TypeScript + React application built with Next.js (SWC compiler).

Tech Stack

  • Next.js 15 (Pages Router)
  • React 18
  • TypeScript
  • SWC (Next.js built-in compiler/minifier; no Babel pipeline)
  • ESLint + Prettier
  • Vitest + Testing Library
  • Playwright + start-server-and-test
  • Docker + Docker Compose
  • Husky + lint-staged
  • GitHub Actions CI

Getting Started

Requirements

  • Node.js 20+
  • npm

Install

npm ci

Run the Development Server

npm run dev

Open:

Typecheck

npm run typecheck

Lint & Format

npm run lint
npm run format

Unit Tests

npm run test

E2E Tests

npm run build
npm run e2e:ci

Production Build

npm run build

Next.js build output is written to .next/.

Run Production Server Locally

npm run start

Open:

Docker

Development (Docker Compose)

Runs next dev in a container with your local source mounted for live edits.

docker compose up --build

Open:

Production (Docker Compose)

Builds and runs next start on port 4173.

docker compose -f docker-compose.yml up --build

Open:

Production-style Container

Build the image:

docker build -t projectrainbows-web .

Run it:

docker run --rm -p 4173:4173 projectrainbows-web

Open:

CI

GitHub Actions runs:

  • npm ci
  • npm run typecheck
  • npm run lint
  • npm run test:run
  • npm run build
  • npm run e2e:ci

CI also verifies there is no project Babel configuration so Next.js compiles with SWC.

Project Layout

  • pages/ — Next.js Pages Router routes

  • src/ — shared React/TypeScript components, styles, and test setup

  • .next/ — Next.js build output (generated)

  • e2e/ — Playwright end-to-end tests

  • .github/workflows/ci.yml — CI pipeline

  • Dockerfile — production Next.js container build

  • docker-compose.yml — production container config

  • docker-compose.override.yml — development container overrides

  • docker-compose.e2e.yml — Playwright tests inside Docker

  • tsconfig.json — TypeScript compiler settings

  • vitest.config.ts — Vitest configuration

  • playwright.config.ts — Playwright configuration

  • commitlint.config.cjs — commit message lint rules

  • CHANGELOG.md — release notes / project history

  • package.json / package-lock.json — dependencies + scripts

  • Makefile — convenience shortcuts for common tasks

Notes

  • .next/ is generated output and should not be committed.
  • This repo intentionally does not include a Babel config file, so Next.js uses SWC end-to-end.
  • package-lock.json must be generated by npm commands (npm install / npm ci) and never hand-edited.

About

React + TypeScript starter built from scratch with NextJs, Docker (Nginx runtime), CI, linting, unit tests (Vitest), and E2E tests (Playwright).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from kabeier/ProjectSparks