{"id":20865135,"url":"https://github.com/mattaharish/fastify-boilerplate","last_synced_at":"2025-05-12T10:32:16.333Z","repository":{"id":40355609,"uuid":"280139117","full_name":"mattaharish/fastify-boilerplate","owner":"mattaharish","description":"fastify boilerplate for building RESTful APIs ⏰ Includes design (APIs), deploy(Application), and monitoring(Application).","archived":false,"fork":false,"pushed_at":"2023-03-08T13:50:48.000Z","size":589,"stargazers_count":108,"open_issues_count":0,"forks_count":18,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T05:41:33.049Z","etag":null,"topics":["boilerplate","deployment","fastify","microservice","monitoring","template"],"latest_commit_sha":null,"homepage":"https://tiiny.host/?fpr=harish-matta37","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattaharish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-16T11:43:52.000Z","updated_at":"2025-03-14T01:18:47.000Z","dependencies_parsed_at":"2023-02-09T01:45:36.031Z","dependency_job_id":null,"html_url":"https://github.com/mattaharish/fastify-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaharish%2Ffastify-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaharish%2Ffastify-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaharish%2Ffastify-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaharish%2Ffastify-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattaharish","download_url":"https://codeload.github.com/mattaharish/fastify-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253720074,"owners_count":21952958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","deployment","fastify","microservice","monitoring","template"],"created_at":"2024-11-18T05:47:20.003Z","updated_at":"2025-05-12T10:32:15.968Z","avatar_url":"https://github.com/mattaharish.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Fastify Boilerplate\n\n\u003e 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.\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\nThere 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.\n\nHere's why:\n\n- 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.\n- You shouldn't be doing the same tasks over and over like creating a project from scratch\n\nOf 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.\n\nA list of **nuts and bolts** which are built-in to kick-start your API development.\n\n- API contract definitions for request and response using JSON schema.\n- Request Body Validation (like required fields, string, boolean, email, etc... formats) to catch most of the bad requests at an early stage.\n- 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~~]\n- Auto-generated Swagger Documentation using API contract definitions\n- [~~A switch to pick one of multiple integrated Email As A Service Providers~~.]\n- HTTPS-enabled (option for enabling it).\n- Easily configurable SQL connector (knex query builder)\n- Facilitating the ability to add database migrations and to seed data.\n- Formatted logging functionality for tracing the errors in a better way.\n- Tuned eslint and prettier configurations for better code linting and formatting.\n- Well configured HTTP client to propagate external API calls.\n- Monitoring the API request with Prometheus and grafana dashboards.\n\n## Getting Started\n\nThese 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.\n\n### Prerequisites\n\nWhat things you need to install the software and how to install them\n\n```\nGive examples\n```\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running\n\nSay what the step will be\n\n```\nGive the example\n```\n\nAnd repeat\n\n```\nuntil finished\n```\n\nEnd with an example of getting some data out of the system or using it for a little demo\n\n## Running the tests\n\nExplain how to run the automated tests for this system\n\n### Break down into end to end tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n### And coding style tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n## Deployment\n\nAdd additional notes about how to deploy this on a live system\n\n## CI\n\nWe are using GitHub actions for testing and linting our code.\n\n## Built With\n\n- [Fastify](https://www.fastify.io/) - Fast and low overhead web framework, for Node.js\n- [Knex](http://knexjs.org/) - \"batteries included\" SQL query builder\n- [Pino](https://www.npmjs.com/package/pino) - Very low overhead Node.js logger.\n\n## Authors\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgments\n\n- Hat tip to anyone whose code was useds\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/mattaharish/fastify-boilerplate.svg?style=flat-square\u0026color=green\n[contributors-url]: https://github.com/mattaharish/fastify-boilerplate/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/mattaharish/fastify-boilerplate?style=flat-square\n[forks-url]: https://github.com/mattaharish/fastify-boilerplate/network/members\n[stars-shield]: https://img.shields.io/github/stars/mattaharish/fastify-boilerplate?style=flat-square\n[stars-url]: https://github.com/mattaharish/fastify-boilerplate/stargazers\n[issues-shield]: https://img.shields.io/github/issues/mattaharish/fastify-boilerplate?style=flat-square\n[issues-url]: https://github.com/mattaharish/fastify-boilerplate/issues\n[license-shield]: https://img.shields.io/github/license/mattaharish/fastify-boilerplate?style=flat-square\n[license-url]: https://github.com/mattaharish/fastify-boilerplate/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattaharish%2Ffastify-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattaharish%2Ffastify-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattaharish%2Ffastify-boilerplate/lists"}