opendevs

Generator for Fastify.js server with TypeScript

fastify.js
express.js
node.js
javascript
backend
Last updated at: Thu Oct 20 2022

hi everyone, 👋 today we’ll learn to use a great generator tool to create a fastify server in everyone’s favourite typescript language. 👨‍💻

now the first question first, what is fastify?

https://fastify.io/

if you are coming from Node.js background you must have heard of expressjs, it is a web application framework that provides you with a simple API to build websites, web apps and back ends. Now express can be considered as a bit slower. fastify is detailed as a “fast and low overhead web framework, for Node.js”. fastify is a web framework highly focused on speed and low overhead. it is inspired by express and hapi, it is one of the fastest web frameworks in town. using fastify can increase your throughput by up to 100%.

advantages of using fastify?

  • 100% asynchronous: all the core is implemented with asynchronous code, in this way not even a millisecond is wasted.
  • highly performant: as far as we know, fastify is one of the fastest web frameworks in town, depending on the code complexity we can serve up to 20000 requests per second.
  • extendible: fastify is fully extensible via its hooks, plugins, and decorators.

https://fastify.io/benchmarks/

why do we need a generator? to scaffold applications quicker we need a generator to provide us with a basic useful template on which we can expand based on our requirements.

& so comes fastify-typescript-generator

https://npmjs.com/package/fastify-typescript-generator

we created this generator keeping few things in mind:

  • using typescript in our templates for better coding standards & attain all the other benefits of typescript.
  • providing a template for people familiar with express
  • providing a template for people wanting to familiarize themselves with the concept of fastify and it’s the plugin system.
  • providing templates with the option to choose between mongoose (a well known MongoDB driver in node.js world supporting schema) & TypeORM which is an ORM that can be used to connect to various SQL as well as MongoDB database (MongoDB connection in BETA) & work with them built specifically keeping typescript in mind.
  • some templates have OpenAPI (previously Swagger) implementation
  • a cool interactive CLI

so please check it out. it’s already gaining tracking in the community.

npm link

how to use it?

https://github.com/opendevs-org/fastify-typescript-generator#-demo

or in textual form:

install

npm i -g fastify-typescript-generator

usage

run anyone of following commands:

fastify-gen # or fastify-typescript-generator # or fastify-ts-gen

so let''s build some fast servers & give this project an ⭐ at github?

Copyright © 2022 opendevs

Learn ● Develop ● Ace
All illustrations by Storyset