The EPNS Showrunners handles the channels created and maintaned by us. It also shows how easy it is to interact with the protocol to build highly customized notifications for your dApp, smart contracts or even centralized services.
- Install docker
- Clone the repo
git clone https://github.com/ethereum-push-notification-service/epns-showrunners-staging.git
- Open the root folder in a terminal and enter
docker-compose up
. This initalises mongodb, redis and ipfs local instances - Open the root folder in another terminal and enter
npm install
npm start
- To stop running the showrunners server, press
Ctrl + C
- To stop running the docker, press
Ctrl + C
and enterdocker-compose down
- To subscribe to channels, please visit our Alpha dApp
- Currently notifications can be recieved through our Google Play Alpha App
- The alpha protocol and product are working and are in ropsten network
- Have an idea for protocol or product? Awesome! get in touch by joining our Telegram Group or following us on Twitter
Following definitions are used in the rest of the spec to refer to a particular category or service.
Term | Description |
---|---|
Showrunners | Showrunners are Channels on EPNS notification protocol that are created and maintained by us |
The Showrunners run on node.js server and are modularized on the ideas and architecture of Bulletproof NodeJS, the essential features in the architeture are as follows:
- config defines all the necessary configuration
- Jobs is used to handle waking up different channels for various purpose. Very useful in sending notifications from channel at a specific interval
- dbListener can be used to listen to and trigger functions on DB changes, we have left the interpretation and an example over there for whoever wants to use them
- showrunners are the actual channels and contain logic which is required for them to construct notification according to their use cases
- middlewares and routes will probably not be active on your production server but are given to test the channel in development mode. for example: triggering functions using postman or similar service and seeing the response
- database the architecture has been changed from MongoDB to mysql to show how easy it is to have either of the database if required
We would need external services of:
- Mongodb - Primary Database : Installation We would be using Mongodb Atlas
- Redis - Internal Cache : Installation
- Mongodb Atlas
For local ease of development, we make use of Docker.