All Projects → mattaharish → fastify-boilerplate

mattaharish / fastify-boilerplate

Licence: MIT License
fastify boilerplate for building RESTful APIs ⏰ Includes design (APIs), deploy(Application), and monitoring(Application).

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to fastify-boilerplate

strapi-plugin-vercel
▲ Strapi plugin for Vercel Platform
Stars: ✭ 28 (+3.7%)
Mutual labels:  deployment
floyer
🚀 Floyer is simple and fast deployment tool using git/svn and (S)FTP - especially useful for shared hosting.
Stars: ✭ 57 (+111.11%)
Mutual labels:  deployment
instl
💻 A crossplatform installer for GitHub projects that just works!
Stars: ✭ 45 (+66.67%)
Mutual labels:  deployment
FogTorchPI
A probabilistic prototype for deployment of Fog applications.
Stars: ✭ 19 (-29.63%)
Mutual labels:  deployment
kubernetes-examples
Kubernetes 经典示例
Stars: ✭ 142 (+425.93%)
Mutual labels:  deployment
ultimate-kubernetes-bootcamp
Ultimate Kubernetes Bootcamp
Stars: ✭ 43 (+59.26%)
Mutual labels:  deployment
dockerized-drupal-starter
End-to-end (CI + CD) dockerized Drupal 8 starting point.
Stars: ✭ 27 (+0%)
Mutual labels:  deployment
deployer
A small deployment script for ARK Chains, that lets you create your own blockchain in minutes
Stars: ✭ 50 (+85.19%)
Mutual labels:  deployment
github-create-release-action
Github Action that create Github Release automatically
Stars: ✭ 28 (+3.7%)
Mutual labels:  deployment
helm
GitHub action for deploying Helm charts.
Stars: ✭ 107 (+296.3%)
Mutual labels:  deployment
tuggle
Distributed file mirroring proxy in Consul cluster
Stars: ✭ 16 (-40.74%)
Mutual labels:  deployment
Ensconce
A .net command line tool for aiding deployment of server components.
Stars: ✭ 15 (-44.44%)
Mutual labels:  deployment
xdeployer
Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.
Stars: ✭ 77 (+185.19%)
Mutual labels:  deployment
fastify-angular-universal
Angular Universal integration to Fastify for rendering Angular apps on the server
Stars: ✭ 20 (-25.93%)
Mutual labels:  fastify
ansible-st2
Ansible Roles and Playbooks to deploy StackStorm
Stars: ✭ 85 (+214.81%)
Mutual labels:  deployment
fastify-gateway
A Node.js API gateway that just works!
Stars: ✭ 88 (+225.93%)
Mutual labels:  fastify
fastify-kafka
Fastify plugin to interact with Apache Kafka.
Stars: ✭ 37 (+37.04%)
Mutual labels:  fastify
jekyll-deploy-action
🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
Stars: ✭ 162 (+500%)
Mutual labels:  deployment
websync
Like `aws s3 sync` with automatic CloudFront invalidations and more.
Stars: ✭ 45 (+66.67%)
Mutual labels:  deployment
arnold
👷‍♀️ Deploy your applications to Kubernetes with Ansible
Stars: ✭ 37 (+37.04%)
Mutual labels:  deployment

Fastify Boilerplate

A full-blown production-ready deployable API server. The goal of this boilerplate is to help the beginners to reach at least a mediocre level.

Contributors Forks Stargazers Issues MIT License

There are many great NodeJS API development boilerplates available on GitHub, however, I didn't find one that really suits my needs so I created this enhanced one. I want to create a boilerplate so amazing that it'll be the last one you ever need.

Here's why:

  • Your time should be focused on building the APIs from the minute you start writing the code for your brand new project rather than investing time in setting it up with good practices and basic essentials built-in that help you make the development process easy.
  • You shouldn't be doing the same tasks over and over like creating a project from scratch

Of course, no one boilerplate will serve all projects since your needs may be different. So I'll be adding more in the near future. You may also suggest changes by forking this repo and creating a pull request or opening an issue.

A list of nuts and bolts which are built-in to kick-start your API development.

  • API contract definitions for request and response using JSON schema.
  • Request Body Validation (like required fields, string, boolean, email, etc... formats) to catch most of the bad requests at an early stage.
  • Centralized Error Handler with the flexibility to add custom error with clear message and status codes [Must be integrated with at least one Error Monitoring tool like sentry]
  • Auto-generated Swagger Documentation using API contract definitions
  • [A switch to pick one of multiple integrated Email As A Service Providers.]
  • HTTPS-enabled (option for enabling it).
  • Easily configurable SQL connector (knex query builder)
  • Facilitating the ability to add database migrations and to seed data.
  • Formatted logging functionality for tracing the errors in a better way.
  • Tuned eslint and prettier configurations for better code linting and formatting.
  • Well configured HTTP client to propagate external API calls.
  • Monitoring the API request with Prometheus and grafana dashboards.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

Give examples

Installing

A step by step series of examples that tell you how to get a development env running

Say what the step will be

Give the example

And repeat

until finished

End with an example of getting some data out of the system or using it for a little demo

Running the tests

Explain how to run the automated tests for this system

Break down into end to end tests

Explain what these tests test and why

Give an example

And coding style tests

Explain what these tests test and why

Give an example

Deployment

Add additional notes about how to deploy this on a live system

CI

We are using GitHub actions for testing and linting our code.

Built With

  • Fastify - Fast and low overhead web framework, for Node.js
  • Knex - "batteries included" SQL query builder
  • Pino - Very low overhead Node.js logger.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • Hat tip to anyone whose code was useds
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].