fastify-boilerplate

(β˜… 461)

Fastify 5 application boilerplate based on clean architecture, domain-driven design, CQRS, functional programming, vertical slice architecture for building production-grade applications πŸš€

  • .dependency-cruiser.cjs
  • .dockerignore
  • .editorconfig
  • .env.example
  • .gitattributes
  • .gitignore
  • .nvmrc
  • .releaserc
  • AGENTS.md
  • biome.json
  • CHANGELOG.md
  • CLAUDE.md
  • commitlint.config.cjs
  • cucumber.mjs
  • docker-compose.yml
  • Dockerfile
  • LICENSE
  • package.json
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • README.md
  • renovate.json
  • tsconfig.json

# Installation Guide

1. Get the code
git clone https://github.com/marcoturi/fastify-boilerplate

Downloads the entire project code from GitHub to your computer.

cd fastify-boilerplate

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up postgres -d # via Docker Compose

Builds and starts all defined containers (server, database, etc.) at once, in the background.

docker compose up # builds the app image and starts all services

Builds and starts all defined containers (server, database, etc.) at once, in the background.

docker build -t fastify-boilerplate .

Builds a runnable image based on the Dockerfile.

docker run -p 3000:3000 --env-file .env -e HOST=0.0.0.0 fastify-boilerplate

Runs the built image as an actual container.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

3. Node.js

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Node.js Node.js must be installed to use npm. The LTS version is recommended.
pnpm install

Downloads and installs the libraries listed in package.json.

pnpm create:env # copies .env.example β†’ .env

Type this command into your terminal and run it.

pnpm db:migrate

Type this command into your terminal and run it.

pnpm start

Starts the development/run server.

pnpm create:env # create .env from .env.example (if not done already)

Type this command into your terminal and run it.

βœ… After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.

Pulled directly from this repo's README.

// repository documentation