Skip to content

es-labs/express-template

Repository files navigation

Read Me First - Requires Node.js 24 or Higher

Template Maintenance

1 - Setup to allow incoming merge from upstream template update

# run once only after you `clone`, or `fork` or `delete .git and run git init`
./setup-upstream.sh

2 - Updating the template

# Commit and push to remote before running commands below
git fetch upstream # includes tags
git pull upstream <branch or tag> --no-rebase
# NO MORE IN USE git merge upstream/<branch or tag> --allow-unrelated-histories
# There may be some template related merge conflicts to resolve.

3 - Refresh the changelog from Conventional Commits

Release automation is handled by the release-please job inside ci.yml.

  • It opens or updates a release PR from Conventional Commits on main and rel/*.
  • Existing handwritten changelog entries remain grouped under 0.1.0.
  • Setup and workflow details live in docs/git.md.
  • Troubleshooting lives in docs/release-troubleshooting.md.

Important limitation: release-please creates release PRs from releasable commits such as feat, fix, and deps. A branch with only chore commits will not produce a release PR unless you force a release with a Release-As: footer in the commit body.

Description

This repository is a monorepo template for building full-stack JavaScript applications with Node.js, Express, and Vue.

It combines backend and frontend examples in apps/ and shared reusable code in common/ so teams can start from a consistent structure instead of assembling the stack from scratch. It includes workspace-based package management, shared schemas and utilities, sample authentication flows, OpenAPI tooling, Docker support, GitHub Actions workflows, and MCP server examples.

Use it when you want a single repository that can host:

  • Express-based backend services
  • Vue and Vite frontend applications
  • shared ESM modules for Node, browser, Vue, and isomorphic code
  • common zod schemas and supporting utilities
  • deployment, documentation, and database helper scripts
  • sample implementations for features such as SAML, OIDC, OAuth, OTP, FIDO2, and push notifications

Documentation Map

Use these documents depending on the part of the repository you are working on:

General Contents

  • apps: backend and frontend application workspaces
  • common: shared JavaScript used by apps
  • docs: project documentation
  • scripts: deployment and documentation scripts

Project Guides

Use the following guides depending on what you want to build or extend in this repository:

  • Backend services: docs/install-apps.md Start from the sample Express application in apps/ and use it as the baseline for new Node.js servicesm or Use the sample Vue and Vite applications as scaffolding for new browser-based projects.
  • Shared code and schemas: docs/install-common.md Reference the reusable modules in common/ for Node, browser, Vue, isomorphic utilities, and shared zod schemas.

CI/CD

About

An Updateable Express Application Template

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors