Message processing system

Job ID: 37030968

Budget: $30 – $250 USD

Project Description:
You are tasked with creating a message processing system that handles incoming messages and stores
them in a database. The system will consist of two main components: a message processing API and a
message consumer.
Requirements:
Message Processing API: Develop a RESTful API using Typescript, Express.js, and Node.js to handle
incoming messages. The API should have the following functionalities:
• Accept incoming messages via POST requests with the following information: sender's name,
recipient's name, message body.
• Validate the input data to ensure all required fields are present.
• Publish the incoming messages to a message queue (choose between RabbitMQ or Kafka or MQTT).
Message Consumer: Create a message consumer that subscribes to the message queue and processes
incoming messages. The consumer should:
• Retrieve messages from the queue and store them in a database.
• Use RabbitMQ or Kafka or MQTT for message consumption.
• Store messages in either PostgreSQL or MongoDB (you can choose one).
DevOps:
• Use Git for version control. Set up a Git repository for your project and commit your code as you
work.
• Containerize your application using Docker.

• Create Kubernetes deployment manifests to deploy your application on a Kubernetes cluster. (
• Write a Bash/Shell script that automates the deployment process on a Linux system
(Debian/Ubuntu). This script should handle pulling the Docker image, applying Kubernetes
manifests, and starting the application.
Related categories: JavaScript Node.js Express JS Typescript MongoDB