{"id":23176203,"url":"https://github.com/smartiniongithub/fastify-example-ts","last_synced_at":"2025-08-02T12:06:34.311Z","repository":{"id":144952775,"uuid":"268772082","full_name":"smartiniOnGitHub/fastify-example-ts","owner":"smartiniOnGitHub","description":"Example webapp with Fastify, made in TypeScript","archived":false,"fork":false,"pushed_at":"2023-01-28T18:57:33.000Z","size":176,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T01:25:39.841Z","etag":null,"topics":["docker","example","fastify","hacktoberfest","test","typescript","webapp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartiniOnGitHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2020-06-02T10:35:13.000Z","updated_at":"2022-07-01T21:29:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"26b866c1-45cb-4189-85f0-d662d1b5cce2","html_url":"https://github.com/smartiniOnGitHub/fastify-example-ts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smartiniOnGitHub/fastify-example-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartiniOnGitHub%2Ffastify-example-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartiniOnGitHub%2Ffastify-example-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartiniOnGitHub%2Ffastify-example-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartiniOnGitHub%2Ffastify-example-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartiniOnGitHub","download_url":"https://codeload.github.com/smartiniOnGitHub/fastify-example-ts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartiniOnGitHub%2Ffastify-example-ts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268385728,"owners_count":24242101,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","example","fastify","hacktoberfest","test","typescript","webapp"],"created_at":"2024-12-18T06:15:52.456Z","updated_at":"2025-08-02T12:06:34.245Z","avatar_url":"https://github.com/smartiniOnGitHub.png","language":"TypeScript","readme":"# fastify-example-ts\n\n  [![Code Style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\n  [![Known Vulnerabilities](https://snyk.io//test/github/smartiniOnGitHub/fastify-example-ts/badge.svg?targetFile=package.json)](https://snyk.io//test/github/smartiniOnGitHub/fastify-example-ts?targetFile=package.json)\n\nExample webapp with Fastify, made in TypeScript\n\n\n## Setup and run\n\nTo complete project setup, do:\n```\nnpm install\n```\nthen run tests (optional):\n```\nnpm test\n```\nthen do a build of TypeScript code (results in the './dist' folder):\n```\nnpm run build\n```\nlast, run with\n```\nnpm start\n```\notherwise perform a build and start with:\n```\nnpm run start:dev\n```\n\nthen point your browser to [localhost:8000](http://localhost:8000)\n\n\n## Setup and run with Docker\n\nNote that it's possible to let Docker do all inside a container, because \nall is described in a Dockerfile; see [Dockerfile-usage](./docs/Dockerfile-usage.md) \nfor related commands.\n\nOf course you need a local installation of Docker (recent, if possible latest), \nbut nothing other.\n\n\n## Others\n\nTo run a development server (with hot reload enabled) instead execute this:\n```\nnpm run start:dev\n```\n\nFor other custom commands look the 'scripts' section inside 'package.json'.\n\n\n## Requirements\n\nFastify ^4.0.0, Node.js 14 LTS (14.15.0) or higher.\n\n\n## Note\n\nSome features can be configured via environment variables; \nif a `.env` file is found in project root, all its contents \nwill be loaded into environmental variables.\nSupported variables:\n- `FASTIFY_OPTIONS`, set Fastify main options at startup, as a JSON string; \n  to change logging level for example use something like: `{ \"logger\": { \"level\": \"debug\" } }'\n  and to remove logging for example use: '{ }'\n- `HTTP_PORT`, set default HTTP port for the server\n- `HTTP_ADDRESS`, set default HTTP address for the server\n- `NATS_SERVER_URL`, set the URL for the NATS server (if enabled), or plugin default\n- `WEBHOOK_SECRET_KEY`, set the secret key to require by exposed webhook\n- `FEATURE_PLATFORM_INFO_DISABLE`, to disable the logging of some info\n  related to the current runtime platform like:\n  Node.js version, OS name, Fastify version, Webapp version, etc ...\n- `FEATURE_CHECK_RUNTIME_ENV_DISABLE`, to disable (not load) related plugin; \n  if enabled and current Node.js environment is not compatible with the one \n  set in 'package.json' by default it will throw an exception, \n  so the webapp will crash (to avoid running the webapp in a not compliant env)\n- `FEATURE_FAVICON_DISABLE`, to disable (not load) related plugin\n- `FEATURE_WEBHOOK_DISABLE`, to disable (not load) related plugin\n- `FEATURE_HEALTHCHECK_DISABLE`, to disable (not load) related plugin\n- `FEATURE_CLOUDEVENTS_DISABLE`, to disable (not load) related plugin; \n  note that this by default uses a public NATS server so disable it \n  if not needed or if that server is not reachable for corporate firewall policies\n- `FEATURE_CLOUDEVENTS_STRICT_DISABLE`, to disable strict mode in generated CloudEvents \n  (if/when related plugin is enabled)\n- `FEATURE_CLOUDEVENTS_LOG_CONSOLE_DISABLE`, to disable CloudEvent serialization to console\n- `FEATURE_CLOUDEVENTS_LOG_FILE_DISABLE`, to disable CloudEvent serialization to console, \n  by default true (so disabled); \n  note that when enabled a new log file will be created at any run of the server, \n  but previous (if present) will be overwritten, \n  so any new run is fresh and old logs will be discarded\n- `FEATURE_NATS_DISABLE`, to disable (not load) related plugin\nif not specified default behavior will be applied.\n\nAs a sample, by default (unless disabled) some messages will be sent to a NATS queue, \nwhen the web application has started and when a client ask for a page.\nNATS server by default (in related plugin) is a public one, \n[demo.nats.io](nats://demo.nats.io:4222).\n\n\n## License\n\nLicensed under [Apache-2.0](./LICENSE).\n\n----\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartiniongithub%2Ffastify-example-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartiniongithub%2Ffastify-example-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartiniongithub%2Ffastify-example-ts/lists"}