Challenge Overview
Challenge Objectives
-
Merge 3 repositories with lambda functions into one single repository
Project Background
We built several bots over AWS Lambdas for communication from/to Topcoder Slack, Client Slack, and Client MS Teams. The current architecture is as below.
The tech stacks are
-
AWS Lambda + Serverless tool
-
DynamoDB
-
AWS SNS
The source code of Lambdas are
-
Central TC Lambda: https://github.com/topcoder-platform/Topbot/tree/central-lambda
-
Slack Lambda: https://github.com/topcoder-platform/slack-bot-processor
-
Teams Lambda: https://github.com/topcoder-platform/MS-Teams-bot-processor/tree/feature/teams-lambda
Follow the README of each Lambda for understanding detailed steps of deployment and interaction between bots, slacks and Teams.
Technology Stack
-
AWS Lambda
-
AWS API Gateway
-
DynamoDB
-
AWS SNS
Individual requirements
Main task of this challenge is to merge the 3 lambda repositories into one single repo.
Majority of the work will be in:
-
Merging serverless.yml configuration files - there should be only one serverless.yml file in the merged codebase,
-
Updating Readme file and
-
Updating config files (environment variables)
-
Merging the code - you can place repo functions in separate directories
Note that there are endpoints (lambda functions) in those 3 repositories that map to the same api path (ex POST /request). It is up to you to resolve such conflicts by changing some of those endpoint mappings.
You should create two slack teams and one MS team and configure the merged codebase to demonstrate that it is working the same as before the merge.
Your submission should contain a git patch to the central lambda repository, containing all the updated code and Readme file for deployment. Create a separate Verificaton.md file with verification instructions.
Submission Guidelines
-
Submit a git patch with the updated code, Readme and Verification guide