Sync Ends - End Development Overheads CSC 510 Project
Project description
Sync Ends
End development overheads
Software Engineering Project for CSC 510
Sync Ends is an automated bridge to sync service owners and service consumers. Every team has a single postman collection that they use to test their APIs and share it across in their documentations. The backend team has to register their service on our application and we take care of the rest. Everytime there is a change in the way the api is called, we parse the changes and inform the consumers. This way all the team members are informed about the changes and know exactly what to edit in their product. The Slack framework lets you concentrate on the core
functionality you want to build without worrying about integration overheads.
Architecture Diagram
Features
Feature | Description |
---|---|
API Change Notification | Changes made to the API in postman |
API Changes | Automated detailed diff of the changes |
Slack Bot Subscription | Subscribe to a list of APIs based on your preference , Set frequency and method of update |
Configurable Ping | Choose the ping interval to detect changes in a collection |
Testing | Polling service to test API uptime |
API history and change logs | Tracking the list of changes all the way from V1 |
Setup
Postman
- Sign in to Postman
- If you do not have any pre-exiting collections on Postman, import this sample collection
- To integrate with the Sync Ends service, a Postman API key is required. Generate API key by visiting this page
- Copy the generated API key. This is required during the time of execution
Create a slack team and slackbot(You can skip this section if you already have a slack bot API token)
Follow the below steps to create a slack team and then a slack bot. You can skip this step if you already have a team and are the admin.
Creating Slack team
- Open https://slack.com/
- Provide your email ID. Select Create New workspace.
- Check your email and enter the code to verify your email.
- Provide your name and set a password
- Add some details to your team in the next page
- Provide a company name
- Team URL should be unique - Also remember this URL - this is what is used to login to your slack instance
- Agree with the terms
- Skip the invite step
- You are up and running with your own instance of Slack.
Now that team is created, let us create a slack bot
Creating Slack bot
- Open your {team-URL}/apps (the one you created above). Ex: https://test-visual.slack.com/apps
- Search for bot in the search bar and select
bots
- In the bots landing page click on Add configuration
- Provide a bot name. Ex: wolfpack-bot and click on Add Bot integration
- In the Setup instruction page:
Copy and store the API Token
. Ex: xoxb-22672546-n1X9APk3D0tfksr81NJj6VAM - Save the integration
Execution
In line #133 of src/sync_ends_service.py, replace <slackbot token>
with your bot token after bot creation: Creating Slack Bot
cd src
python3 sync_ends_service.py
License
This project is licensed under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sync-ends-2.1.0.tar.gz
.
File metadata
- Download URL: sync-ends-2.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60332c95a0ff1385fff1efe9104309523af04bb85f1df02b16db0847795b5d08 |
|
MD5 | 2b5f98f0ce62cb1c385847ef49c7a4d1 |
|
BLAKE2b-256 | e09431cad93adaf9a96a19da78b50d916038401651a761fb044d9dbb660c2466 |
File details
Details for the file sync_ends-2.1.0-py3-none-any.whl
.
File metadata
- Download URL: sync_ends-2.1.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ad196825da86e0208ecc5a47398ba846662690a2267af511510165a66f457a |
|
MD5 | d8f432ec9a18c106548fadca4008ad72 |
|
BLAKE2b-256 | 8339cbc96d2f97e9dbdec96686a31f7be1de815f40b8b9d9a2bf4a894edfbe77 |