We have built a backend service where users can register a new tenant/organisation which all share a AWS Cognito user pool.
Users can login and sign up with AWS Cognito.
We are now looking to extend the application where users can link their tenant to external services to build reporting dashboards based on integrations (mostly Oauth).
As a first task of possibly more tasks we will integrate with Google Analytics using Google Oauth to request data from Google Analytics and present in the custom dashboard as per customer configuration (metric, time range)
The user will be able to create a new dashboard where he can select the type, followed by the integrations he like to add to the dashboard such as Google Analytics data or sales data from a shop in Magento for example. To integrate with Google Analytics the user need to authenticate with Google upon integration request.
[login to view URL]
Backend need to be built on top of API Gateway and Lambda as per REST schema here
Integration need to built to be extendable
Schema should follow a common structure e.g.
Client Secret encrypted in DynamoDB
Client ID encrypted in DynamoDB
Service name and ID
Service configuration linked to Service ID and Dashboard ID
Integrate Oauth with Google Analytics in React app
Save selected graph and reporting configuration for Google Analytics data in DynamoDB using AWS API Gateway, Lambda
AWS API Gateway
NodeJS and React experience are a must
Experience with AWS Amplify an advantage
Have t be familiar with API Gateway, Lambda and DynamoDB
You must have integrated with Google Analytics via Oauth before