{"id":21802051,"url":"https://github.com/jellydn/fastify-starter","last_synced_at":"2025-04-06T06:14:19.325Z","repository":{"id":37077970,"uuid":"420417225","full_name":"jellydn/fastify-starter","owner":"jellydn","description":"Fastify starter template support RestAPI with Swagger and Graphql","archived":false,"fork":false,"pushed_at":"2024-10-29T19:08:46.000Z","size":5986,"stargazers_count":113,"open_issues_count":8,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-29T21:21:51.163Z","etag":null,"topics":["cors","fastify","fastify-boilerplate","fastify-starter","graphql","helmet","rest-api","swagger","typescript"],"latest_commit_sha":null,"homepage":"https://fastify-starter.fly.dev/documentation/static/index.html","language":"TypeScript","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/jellydn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jellydn"],"ko_fi":"dunghd","buy_me_a_coffee":"dunghd","polar":"jellydn"}},"created_at":"2021-10-23T13:15:28.000Z","updated_at":"2024-10-29T19:08:01.000Z","dependencies_parsed_at":"2024-03-23T04:26:26.370Z","dependency_job_id":"4d1f2053-f0c0-4803-b7ed-a41833ede86e","html_url":"https://github.com/jellydn/fastify-starter","commit_stats":null,"previous_names":[],"tags_count":8,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ffastify-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ffastify-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ffastify-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ffastify-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellydn","download_url":"https://codeload.github.com/jellydn/fastify-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441063,"owners_count":20939239,"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":["cors","fastify","fastify-boilerplate","fastify-starter","graphql","helmet","rest-api","swagger","typescript"],"created_at":"2024-11-27T11:22:23.953Z","updated_at":"2025-04-06T06:14:19.303Z","avatar_url":"https://github.com/jellydn.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jellydn","https://ko-fi.com/dunghd","https://buymeacoffee.com/dunghd","https://polar.sh/jellydn","https://paypal.me/dunghd","https://www.buymeacoffee.com/dunghd"],"categories":["TypeScript","Fastify"],"sub_categories":[],"readme":"# Welcome to fastify-starter 👋\n\n![Version](https://img.shields.io/badge/version-0.0.1-blue.svg?cacheSeconds=2592000)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](#)\n[![Twitter: jellydn](https://img.shields.io/twitter/follow/jellydn.svg?style=social)](https://twitter.com/jellydn)\n\n\u003e Fastify Typescript Starter\n\n\u003c!-- [![Deploy](https://button.deta.dev/1/svg)](https://go.deta.dev/deploy?repo=https://github.com/jellydn/fastify-starter) --\u003e\n\n## Features\n\n- Swagger documentation generator for Fastify https://github.com/fastify/fastify-swagger\n- Generates swagger/openapi specification based on jsDoc comments and YAML files. https://github.com/Surnet/swagger-jsdoc\n- Mercurius is a GraphQL adapter for Fastify https://mercurius.dev/\n- Code-GraphQL Nexus\n  Declarative, Code-First GraphQL Schemas for JavaScript/TypeScript https://nexusjs.org\n- Log and tracking with [hyperdxio/hyperdx](https://github.com/hyperdxio/hyperdx)\n- And some useful plugins as https://github.com/fastify/fastify-env, https://github.com/fastify/fastify-cors, https://github.com/fastify/fastify-helmet\n\n## Install\n\n```sh\npnpm install\n```\n\n## Usage\n\n```sh\npnpm start\n```\n\n## Swagger UI\n\nOpen below link on your browser with localhost\nhttp://localhost:3000/documentation or try with demo server https://fastify-starter.fly.dev/documentation\n\n![https://gyazo.com/6cf6c02cb36f9d4fababdde1ad071aba.gif](https://gyazo.com/6cf6c02cb36f9d4fababdde1ad071aba.gif)\n\n## GraphQL Client IDE\n\nOpen below link on your browser with localhost\nhttp://localhost:3000/altair or try with demo server https://fastify-starter.fly.dev/altair\n\n![https://gyazo.com/49e9af06a6a13390abefd5c58a1296f7.png](https://gyazo.com/49e9af06a6a13390abefd5c58a1296f7.png)\n\n## GraphQL\n\nIf you are new to GraphQL, please watch the below video for more information.\n[![IT Man - Talk #27 - GraphQL 2022 Report Insights [Vietnamese]](https://i.ytimg.com/vi/_wmldiEdwPM/hqdefault.jpg)](https://www.youtube.com/watch?v=_wmldiEdwPM)\n\nRun below command in your terminal/CLI\n\n```sh\ncurl -H \"Content-Type:application/graphql\" -XPOST -d \"query { hello }\" http://localhost:3000/graphql | jq .\n```\n\nOutput:\n\n```\n{\n  \"data\": {\n    \"hello\": \"Hello World!\"\n  }\n}\n```\n\n## Run tests\n\n```sh\npnpm test\n```\n\n## Pre-commit hooks\n\nThis project uses [Pre-commit](https://pre-commit.com/) to enforce code quality. You can install it by running:\n\n```sh\npre-commit install\n```\n\n## Deployment\n\nThis template comes with two GitHub Actions that handle automatically deploying your app to production environment.\n\nPrior to your first deployment, you'll need to do a few things:\n\n- [Install Fly](https://fly.io/docs/getting-started/installing-flyctl/)\n\n- Sign up and log in to Fly\n\n  ```sh\n  fly auth signup\n  ```\n\n- Create a new app on Fly:\n\n  ```sh\n  fly create fastify-starter\n  ```\n\n- Create a new [GitHub Repository](https://repo.new)\n\n- Add a `FLY_API_TOKEN` to your GitHub repo. To do this, go to your user settings on Fly and create a new [token](https://web.fly.io/user/personal_access_tokens/new), then add it to [your repo secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) with the name `FLY_API_TOKEN`.\n\nNow that every is set up you can commit and push your changes to your repo. Every commit to your `main` branch will trigger a deployment to your production environment.\n\n## GitHub Actions\n\nWe use GitHub Actions for continuous integration and deployment. Anything that gets into the `main` branch will be deployed to production after running tests/build/etc.\n\n## References\n\n- [jellydn/platformatic-starter: Platformatic starter template](https://github.com/jellydn/platformatic-starter)\n\n## Author\n\n👤 **Huynh Duc Dung**\n\n- Website: https://productsway.com/\n- Twitter: [@jellydn](https://twitter.com/jellydn)\n- Github: [@jellydn](https://github.com/jellydn)\n\n## Show your support\n\n[![kofi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/dunghd)\n[![paypal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/dunghd)\n[![buymeacoffee](https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/dunghd)\n\nGive a ⭐️ if this project helped you!\n\n[![Stargazers repo roster for @jellydn/fastify-starter](https://reporoster.com/stars/jellydn/fastify-starter)](https://github.com/jellydn/fastify-starter/stargazers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Ffastify-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellydn%2Ffastify-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Ffastify-starter/lists"}