In my opinion, you can use Redis database for real-time synchronization, PostgresSql to store your data, and MongoDB to track things like live users and their active edits. On the queues side, you can check platforms like Kafka since you are planning to use Nestjs, check this https://docs.nestjs.com/microservices/kafka. Also, look into Web Sockets and Socket.io. For NestJS https://docs.nestjs.com/websockets/gateways