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
Why use it
Sync ends is a state of the art technology which keeps your consumers updated with the changes to your API in realtime. Consider a user using multiple API's in thier system, In this ever changing world it is impossible for the consumer to be updated with each and every API change. Here is where sync ends comes into action. If API developers start using sync ends then the consumer will be updated in near real time with the API changes. This will make your API more robust and developers will love using such API's which provide such good support. So avoid crashes and shift to sync ends.
This version of sync ends is highly usable as it can be simply downloaded through PyPi. It is a single package which satisfies all your needs with clean documentation. Using simple config file you can start the service from terminal through our CLI interface. All your API's from postman collection will be fetched and their changes will be reflected into your slack channel.
How to use it
Installation
pip install sync-ends
Usage
- Run following command with required parameters.
syncends --collection_name "COLLECTION_NAME_HERE" --api_key "POSTMAN_API_KEY_HERE" --slack_token "SLACK_TOKEN_HERE" --trigger_interval 10 --slack_channel "general"
collection_name - name of postman collection
api_key - the api key fetched from setup section of postman after registering your service.
slack_token - the token obtained from slack for receiving slack messages.
trigger_interval - the interval at which postman api changes are checked.
slack_channel - is the channel in slack where messages are received.
Congratulations
You just saved yourself from unwanted crashes
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.2.tar.gz
.
File metadata
- Download URL: sync-ends-2.1.2.tar.gz
- Upload date:
- Size: 16.1 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 | db9619e79fb10fb85d36413904a6e45def21b43738bc73e871e6f5cb5362bd95 |
|
MD5 | 8f44ce0d9aa0524bd5b3b5a7acb1e5d0 |
|
BLAKE2b-256 | 6f304ccb77fba075f2e241e52f339617feb52a251b3a4651b38e6a17dbdd47ea |
File details
Details for the file sync_ends-2.1.2-py3-none-any.whl
.
File metadata
- Download URL: sync_ends-2.1.2-py3-none-any.whl
- Upload date:
- Size: 16.6 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 | 465cc63d3ff7589b725ab5fd48c84217547b640bebdaa38e2f0b57f56df2c677 |
|
MD5 | b7d273f3c2ee5620dd98071ae5333039 |
|
BLAKE2b-256 | d4a6016ccdb4595dce3bfc735ce565e1f0070b7e8311741be353e679597d75a2 |