{"id":15662457,"url":"https://github.com/eomm/blog-posts","last_synced_at":"2025-04-30T16:07:43.243Z","repository":{"id":42566493,"uuid":"287594917","full_name":"Eomm/blog-posts","owner":"Eomm","description":"A collection of my Fastify blog posts!","archived":false,"fork":false,"pushed_at":"2025-03-30T15:02:13.000Z","size":19370,"stargazers_count":19,"open_issues_count":2,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T15:32:33.266Z","etag":null,"topics":["articles","blogging","discord","fastify"],"latest_commit_sha":null,"homepage":"","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/Eomm.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},"funding":{"github":"Eomm"}},"created_at":"2020-08-14T18:05:33.000Z","updated_at":"2025-03-22T08:26:36.000Z","dependencies_parsed_at":"2024-08-28T10:30:19.595Z","dependency_job_id":"860d3f75-6dc8-4f13-b3b4-48c683c7a832","html_url":"https://github.com/Eomm/blog-posts","commit_stats":null,"previous_names":["eomm/blog-posts"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fblog-posts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fblog-posts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fblog-posts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fblog-posts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eomm","download_url":"https://codeload.github.com/Eomm/blog-posts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251738979,"owners_count":21635891,"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":["articles","blogging","discord","fastify"],"created_at":"2024-10-03T13:32:40.818Z","updated_at":"2025-04-30T16:07:43.207Z","avatar_url":"https://github.com/Eomm.png","language":"JavaScript","funding_links":["https://github.com/sponsors/Eomm"],"categories":[],"sub_categories":[],"readme":"# Blog Posts\n\nThis repository collects all the articles I wrote (mainly) about Fastify.\n\nEvery upgrade will be documented and posted on:\n\n- [dev.to](https://dev.to/eomm) \n- [backend.cafe/](https://backend.cafe/)\n- or [NearForm blog](https://www.nearform.com/author/manuel-spigolon/)\n\nHere you will find the source code and the commit history!\n\n## Posts\n\n1. [App: A Discord app with Fastify!](https://dev.to/eomm/a-discord-app-with-fastify-3h8c) - [📝](./posts/01-init-application.md)\n1. [App: Project Automation](https://dev.to/eomm/project-automation-2bee) - [📝](./posts/02-project-automation.md)\n1. [App: To Production](https://dev.to/eomm/fastify-demo-goes-to-production-499c) - [📝](./posts/03-to-production.md)\n1. [Grokking Fastify Error handlers](https://dev.to/eomm/fastify-error-handlers-53ol) - [📝](./posts/bonus-error-handler.md)\n1. [Why should I prefer Fastify to Expressjs?](https://dev.to/eomm/why-should-i-prefer-fastify-to-expressjs-44c4) - [📝](./posts/bonus-why-fastify.md)\n1. [Fastify Multipart File Management](https://backend.cafe/fastify-multipart-upload) - [📝](./posts/bonus-multipart-breakdown.md)\n1. [How to use Fastify and MongoDB](https://backend.cafe/how-to-use-fastify-and-mongodb) - [📝](./posts/bonus-mongodb.md)\n1. [How to test a Fastify application](https://backend.cafe/how-to-test-a-fastify-application) - [📝](./posts/bonus-mongodb-test.md)\n1. [Build a WebSocket React.js Chat](https://backend.cafe/fastify-websocket-react-chat) - [📝](./posts/bonus-web-socket-chat.md)\n1. [How to send tweets from GitHub Actions](https://backend.cafe/how-to-send-tweets-from-github-actions) - [📝](./posts/bonus-tweet-new-releases.md)\n1. [GraphQL Federation Playground with Mercurius](https://backend.cafe/graphql-federation-playground-with-mercurius) - [📝](./bonus/graphql-federation/README.md)\n1. [Change log level in Fastify](https://backend.cafe/how-to-change-the-log-level-at-runtime-in-fastify) - [📝](./posts/bonus-change-log-level.md)\n1. [Becoming a Fastify JSON Schema GURU!](https://backend.cafe/becoming-a-fastify-json-schema-guru) - [📝](./posts/bonus-schema-guru.md)\n1. [Integrate Stripe with Fastify](https://backend.cafe/integrate-stripe-with-fastify) - [📝](./posts/bonus-stripe.md)\n1. [How to log useful data from a GraphQL request?](https://backend.cafe/how-to-log-useful-data-from-a-graphql-request) - [📝](./posts/bonus-mercurius-logging.md)\n1. [How to unlock the fastest Fastify server startup](https://backend.cafe/how-to-unlock-the-fastest-fastify-server-startup) - [📝](./posts/bonus-faster-startup.md)\n1. [How to use DataLoader with Mercurius GraphQL?](https://backend.cafe/how-to-use-dataloader-with-mercurius-graphql) - [📝](./posts/bonus-mercurius-loaders.md)\n1. [Should you use jest as a testing library?](https://backend.cafe/should-you-use-jest-as-a-testing-library) - [📝](./posts/bonus-jest-instanceof.md)\n1. [The Complete Guide to the Fastify Encapsulation](https://backend.cafe/the-complete-guide-to-the-fastify-plugin-system) - [📝](./posts/bonus-fastify-encapsulation.md)\n1. [What is AST?](https://backend.cafe/what-is-ast) - [📝](./posts/bonus-ast.md)\n1. [How to build a Pokedex with Platformatic](https://backend.cafe/how-to-build-a-pokedex-with-platformatic) - [📝](./posts/bonus-pokedex.md)\n1. [Dynamic GraphQL queries with Mercurius](https://backend.cafe/dynamic-graphql-queries-with-mercurius) - [📝](./posts/bonus-mercurius-dynamic.md)\n1. [The Secrets Behind High Performance](https://backend.cafe/the-secrets-behind-high-performance-with-node-js) - [📝](./posts/bonus-performance-secrets.md)\n1. [How to handle emojis in Node.js](https://backend.cafe/how-to-handle-emojis-in-nodejs) - [📝](./posts/bonus-unicode-emoji.md) [⭐️ Featured on NodeWeekly](https://nodeweekly.com/issues/486)\n1. [ANNOUNCEMENT: Fastify Book!](https://backend.cafe/fastify-v4-book) - [📝](./posts/announcement-fastify-book.md)\n1. [Unlock the Power of Runtime Log Level Control](https://backend.cafe/unlock-the-power-of-runtime-log-level-control) - [📝](./posts/bonus-log-controller.md)\n1. [Validate the Fastify input with Joi](https://backend.cafe/validate-the-fastify-input-with-joi) - [📝](./posts/bonus-fastify-joi.md)\n1. [Streaming PostgreSQL data with Fastify](https://backend.cafe/streaming-postgresql-data-with-fastify) - [📝](./posts/bonus-pg-stream.md)\n1. [Fastify has a new Application Hook!](https://backend.cafe/fastify-has-a-new-application-hook) - [📝](./posts/bonus-on-listen.md)\n1. [Create a Telegram Bot with Fastify from Scratch](https://backend.cafe/create-a-telegram-bot-with-fastify-from-scratch) - [📝](./posts/bonus-telegram-bot.md)\n1. [Real-Time Data Replication in Postgres and Node.js](https://backend.cafe/real-time-data-replication-in-postgres-and-nodejs) - [📝](./posts/bonus-postgres-logical-replication.md)\n1. [Resume Data Replication in Postgres and Node.js](https://backend.cafe/resume-data-replication-in-postgres-and-nodejs) - [📝](./posts/bonus-postgres-logical-replication.md)\n1. [How to implement video streaming with Fastify](https://backend.cafe/how-to-implement-video-streaming-with-fastify) - [📝](./posts/bonus-video-streaming.md)\n1. [Managing Request-Scoped Data in Fastify](https://backend.cafe/managing-request-scoped-data-in-fastify) - [📝](./posts/bonus-AsyncLocalStorage.md)\n\n\n\u003e This repository was called `fastify-discord-bot-demo` before and it used to contain a discord app.\n\n## Contributing\n\nFor any suggestion or concern feel free to open a new issue.\nFor grammar _horrors_ a PR would be really appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feomm%2Fblog-posts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feomm%2Fblog-posts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feomm%2Fblog-posts/lists"}