1. Support GET/PUT/POST/DELETE on the API for all Endpoints.
2. You need to think from the OOPS concept and do the coding.
3. DO not use .js, use .ts for the code. (pls do research on how to setup nodejs project using ts)
4. Containerize the same using Docker.
5. Use PUB/SUB Architecture using RabbitMQ to send DATA for PUT/POST/DELETE.
6. Use another NODE API to get values on the subscriber mode.
7. Process the request in terms of saving to DB (postgres) and returning success message to caller. (you need to identify who the caller was, for that you need to use an identifier or request id for every request, against which you will send the response).
8. Configure postgresQL on the Node API's to support the DB functions.
9. For illustration purposes you can think of an Employee-Department management system, where we should be able to add employees, departments, link them to any one department.
10. You need to have sorting on the employees list/department list.
11. Implement searching of data based on any field search. (for this you can use any algorithm either on API side or on DB side by means of functions)
12. Logs should be implemented and will store log data in text format for every day. (can use any log library).
13. API documentation should be using swagger.