The gist
Nest
The gist | Nest | |
---|---|---|
26 | 312 | |
5,212 | 64,419 | |
3.1% | 1.3% | |
9.7 | 9.9 | |
3 days ago | 3 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
The gist
-
Object Narrowing in Typescript with Graphile Worker
Graphile worker has been great for me because it's a library that works with Postgres that allows me to queue jobs and execute them on the server without adding too many additional layers of complexity for being able to accomplish async tasks. (I'm aware of how popular bull is, but I don't want to add another data-store only for async tasks)
-
Job Schedulers for Node: Bull or Agenda?
Bull is currently in maintenance mode, we are only fixing bugs. For new features check BullMQ, a modern rewritten implementation in Typescript. You are still very welcome to use Bull if it suits your needs, which is a safe, battle-tested library.
-
Are there any generally accepted standards for inter-microservice communication? Or does everyone just go it their own?
I use bullmq with node
-
Next.js background jobs
You might consider using a queue for processing the request. I've found bullMQ, which works with Redis, to be a nice developer experience.
-
What is a good background scheduler?
BullMQ is a pretty solid choice: https://github.com/taskforcesh/bullmq It's the successor of Bull: https://github.com/OptimalBits/bull
-
How to schedule tasks in a Node.js app š
BullMQ
-
First time building microservice-based application
For Node.JS you can use something like BullMQ (https://github.com/taskforcesh/bullmq) and then dispatch jobs to the message queue with your worker handling the jobs. You can read about an example for Bull MQ here (https://deadsimplechat.com/blog/best-nodejs-schedulers/#2-bull)
-
Is my health check endpoint good enough?
bullmq seems like an open issue
-
Help implementing Heroku Data For Redis (+bull & throng) / `ioredis`
In order to try and mitigate the OOMs. I read the Background Jobs in Node.JS with Redis blog post and implemented Heroku Data For Redis with ioredis, BullMQ and Throng,
- BullMQ ā fastest, most reliable, Redis-based distributed queue for Node
Nest
-
NestJS tip: how to change HTTP server timeouts
When using the NestJS framework, sometimes you may need to change some default timeout. You can define them just like you'd do in a plain Node.js HTTP server like so:
-
Containerize your multi-services app with docker compose
Back: a graphQL server built with Nestjs
-
Full Stack Web Development Concept map
NestJS - opinionated more scalable, but harder to learn docs
-
Don't go all-in Clean Architecture: An alternative for NestJS applications
Pragmatically, we can apply this to a Nest application by creating an Interface for our services, separating the Presenter layer (Controller) from the Use Case (Services):
- Utilizando Testcontainers para Testes de IntegraĆ§Ć£o com NestJS e Prisma ORM
-
A Gentle Introduction to Containerization and Docker
Itās a text document that contains all the commands a user could call to assemble an image. Letās check an example of a Dockerfile for a nodejs app in this case it will be a NestJS app and then explain each part.
-
Scalable REST APIs with NestJS: A Testing-Driven Approach
describe('Create bookmarks', () => { const dto: CreateBookmarkDto = { title: 'NestJS', link: 'https://nestjs.com/', }; it('should create bookmark', () => { return pactum .spec() .post('/bookmarks') .withHeaders({ Authorization: 'Bearer $S{userAt}', }) .withBody(dto) .expectStatus(201) .stores('bookmarkId', 'id')//store the bookmark id in the variable bookmarkId .expectBodyContains(dto.title) .expectBodyContains(dto.link) }); });
-
Rust GraphQL APIs for NodeJS Developers: Introduction
In my usual NodeJS tech stack, which includes GraphQL, NestJS, SQL (predominantly PostgreSQL with MikroORM), I encountered these limitations. To overcome them, I've developed a new stack utilizing Rust, which still offers some ease of development:
-
A Step-by-Step Guide to Implement JWT Authentication in NestJS usingĀ Passport
The purpose of this article is to provide a step-by-step guide for implementing authentication system in a NestJS project using the Passport middleware module.
-
From Frontend to Backend
That's exactly where I am. My manager gave me these links, that cover a lot of those words the backend uses, so I can identify what they mean and how to use them. 1. For inspiration and concepts: https://github.com/Sairyss/domain-driven-hexagon 2. Suggested to read the documentation for nest.js. They apply such concepts I don't understand: https://nestjs.com/
What are some alternatives?
bull - Premium Queue package for handling distributed jobs and messages in NodeJS.
SailsJS - Realtime MVC Framework for Node.js
Bee-Queue - A simple, fast, robust job/task queue for Node.js, backed by Redis.
Koa - Expressive middleware for node.js using ES2017 async functions
better-queue - Better Queue for NodeJS
loopback-next - LoopBack makes it easy to build modern API applications that require complex integrations.
RedisSMQ - A simple high-performance Redis message queue for Node.js.
feathers - The API and real-time application framework
kue - Kue is a priority job queue backed by redis, built for node.js.
Ts.ED - :triangular_ruler: Ts.ED is a Node.js and TypeScript framework on top of Express to write your application with TypeScript (or ES6). It provides a lot of decorators and guideline to make your code more readable and less error-prone. āļø Star to support our work!
bree - Bree is a Node.js and JavaScript job task scheduler with worker threads, cron, Date, and human syntax. Built for @ladjs, @forwardemail, @spamscanner, @cabinjs.
Moleculer - :rocket: Progressive microservices framework for Node.js