:link: Web Link : https://slack.omkarshelar.dev

The application provides management of the users’ Slack Channels and enables them to broadcast the same message to multiple Slack Channels using slack webhooks.

The application provides users to configure Slack channels and corresponding webhooks. Once configured, the user can then send the same message to multiple slack channels using the web interface.


Angular Frontend : https://github.com/omkarshelar/slack-broadcast-frontend

Backend Code : https://github.com/omkarshelar/slack-broadcast-API

API Docs :

https://documenter.getpostman.com/view/3370668/SzmcbzVN

Video Screencast :

Architectural Diagram :

Slack Broadcast Architecture

Details :

Frontend :

The application frontend is written in Angular. Materilize CSS is used for styling. AWS Amplify for handling user authentication using AWS Cognito.

Backend :

AWS Cognito : AWS Cognito handles the users authentication using email/password or Social Logins(Google/Amazon).

APIs : To connect with backend APIs, the Angular application uses ID Token sent from Cognito. These tokens are checked for validity. If token is valid, the user can then request his/her resources(slack channels).

The database used is Amazon DynamoDB. The backend code runs in AWS Lambda. The code is written using AWS Chalice which provides a simple interface using Python decorators.

Application Features :

What I learned from the Project :