Register
Submit a solution
The challenge is finished.

Challenge Overview

Competition Task Overview

We need to provide succinct, timely, and relevant information about what's happening on projects in Connect, according to role and user preference. Connect users should be notified when specific events occur on their projects. The following changes are required to our existing platform to support these notifications. We are also switching our Async queueing system from Kafka to RabbitMQ.

In this challenge, you'll need to create a new consumer based on our almost-empty tc-connect-notifications repo, at a high level, the process works like this:
1. This new consumer will be responisble for consuming various project related events from RabbitMQ (you can use RabbitMQ to fire test events via command line or GUI for local testing), process them and generate 1 or more notification events that would be consumed by ap-notification-service.
2. The notifications will contain notification type and notification related data parameters, ap-notification-service will determine what notification templates should be used and which users should be notified via email.

This challenge is only responsible for implementing the code that consumes project related events from RabbitMQ and generate notifications (also sent to some configurable RabbitMQ).

Please make sure you use bunyan + logentries for logging. All logs messages should include correlationId from event message for log tracing.

We'll post some additional documents including sample JSON payload to the forum to help you better understand this.

Testing

Unit tests should have at least 80% code coverage, biz logic needs code coverage. (Mocha, chai, sinon, etc)

Technology Overview

NodeJS
jackrabbit (rabbitmq)
bunyan + logentries (logging)



Final Submission Guidelines

Submission Deliverables

Below is an overview of the deliverables:
1. Full code that covers all requirements (based on our repo structure)
2. A detailed readme in markdown format covering how to configure, run and verify your submission.

Final Submission

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.]

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055657