Skip to content

prod-forge/frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

AI made writing the code easy. Running it in production is still hard.

Prod Forge is an open-source reference that shows how to build and operate a production-ready system: AI-assisted development, quality gates, CI/CD, infrastructure, observability, migrations, and rollback.

The implementation is based on a simple Todo API, but the architecture follows patterns used in real production systems at scale.

Every major technical decision is documented and explained.


Project structure

Repository Description
Frontend React Web and React Mobile apps + Design System
Backend NestJS API - the main guide
Infrastructure Terraform on AWS

Stack

Architecture

Layer Tools
Web Client React · Vite · Redux Toolkit · Tailwind CSS · NX
Deploy AWS S3 · CloudFront · ECR · ECS
Backend NestJS · Prisma · PostgreSQL · Redis · Docker
Infrastructure AWS · RDS · ElasticCache
Observability Prometheus · Grafana · Loki · Promtail
Quality ESLint · Prettier · Husky · Commitlint · CI/CD

Table of contents

Getting started

# Install all workspace dependencies
npm install

# Start the dev server
npm run dev

# Run all tests
npm run test

# Run Storybook
npm run storybook

# Build all packages
npm run build

Available scripts (root)

Script Description
npm run dev Start web-client dev server
npm run build Build all packages with NX
npm run test Run all unit tests with NX
npm run lint Lint all packages with NX
npm run storybook Start Storybook for ui-web
npm run storybook:build Build static Storybook
npm run test:a11y Run Playwright a11y tests for ui-web
npm run test:visual Run Playwright visual regression tests for ui-web
npm run test:e2e Run Playwright e2e tests for web-client
npm run format Format all files with Prettier

Package scope

All packages use the @prod-forge-todolist-frontend/ scope:

  • @prod-forge-todolist-frontend/core
  • @prod-forge-todolist-frontend/ui-web
  • @prod-forge-todolist-frontend/design-tokens
  • @prod-forge-todolist-frontend/web-client (private, not published)

NX

This monorepo uses NX for task orchestration (build caching, dependency-aware task ordering). Each package has a project.json that declares its targets.

# Run a specific target in one project
npx nx test core
npx nx storybook ui-web
npx nx build web-client

# Run a target across all projects
npx nx run-many -t test

TypeScript path aliases

tsconfig.base.json at the root defines path aliases so TypeScript resolves workspace packages:

{
  "@prod-forge-todolist-frontend/core": ["packages/core/src/index.ts"],
  "@prod-forge-todolist-frontend/ui-web": ["packages/ui-web/src/index.ts"]
}

Vite configs in each package add matching resolve.alias entries so Vite resolves the same paths during dev and test.


Contributing

We welcome any kind of contribution, please read the guidelines:

CONTRIBUTING

The MIT License

LICENSE

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors