Skip to content
/ demo Public

A concrete example of a Fastify application using what are considered best practices by the Fastify community

License

Notifications You must be signed in to change notification settings

fastify/demo

Fastify Official Demo

CI

The aim of this repository is to provide a concrete example of a Fastify application using what are considered best practices by the Fastify community.

Prerequisites: You need to have Node.js version 22 or higher installed.

About the Application

This demo is a simple task management API. It allows users to create, retrieve, update, and delete tasks. Additional features include file uploads, CSV downloads, task assignment, and role-based access control.

Getting started

Install the dependencies:

npm install

Database

You can run a MySQL instance with Docker:

docker compose up

To run it in the background:

docker compose up -d

To create the database, run:

npm run db:create

To create and update the database schema, run the migrations:

npm run db:migrate

To populate the database with initial data, run:

npm run db:seed

To drop the database, run:

npm run db:drop

TypeScript

To build the project:

npm run build

Start the server

In dev mode:

npm run dev

Open http://localhost:3000 to view it in the browser.

In production mode:

npm run start

API Documentation

The application exposes interactive API documentation using Swagger UI.

Once the server is running, visit: http://localhost:3000/api/docs

Testing

To run the tests:

npm run test

Standalone

dev and start leverage fastify-cli, but you can run the demo as a standalone executable (see server.ts):

npm run standalone

Linting

To check for linting errors:

npm run lint

To check and automatically fix linting errors:

npm run lint:fix

Learn More

To learn more about Fastify, check out the Fastify documentation.

About

A concrete example of a Fastify application using what are considered best practices by the Fastify community

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •