{"id":29219884,"url":"https://github.com/protofire/livepeer-alerts-backend","last_synced_at":"2025-07-03T02:07:45.009Z","repository":{"id":40746326,"uuid":"162165373","full_name":"protofire/livepeer-alerts-backend","owner":"protofire","description":"Provide pro-active alert notifications that will help LPT token holders to be updated and understand how the transcoders are delegating tokens in near real time","archived":false,"fork":false,"pushed_at":"2022-12-08T16:22:31.000Z","size":2414,"stargazers_count":1,"open_issues_count":34,"forks_count":1,"subscribers_count":10,"default_branch":"development","last_synced_at":"2023-04-10T04:54:30.883Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://livepeer.tools","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/protofire.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-17T17:17:09.000Z","updated_at":"2020-10-16T12:47:44.000Z","dependencies_parsed_at":"2023-01-25T08:15:19.220Z","dependency_job_id":null,"html_url":"https://github.com/protofire/livepeer-alerts-backend","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/protofire/livepeer-alerts-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Flivepeer-alerts-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Flivepeer-alerts-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Flivepeer-alerts-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Flivepeer-alerts-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protofire","download_url":"https://codeload.github.com/protofire/livepeer-alerts-backend/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Flivepeer-alerts-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263245313,"owners_count":23436515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-03T02:07:44.387Z","updated_at":"2025-07-03T02:07:44.999Z","avatar_url":"https://github.com/protofire.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Livepeer Backend Notifications\n\nProvide pro-active alert notifications that will help LPT token holders to be updated and understand how the transcoders they are delegating the tokens to are performing in near real time\n\n[![Build Status](https://api.travis-ci.org/protofire/livepeer-alerts-backend.svg?branch=master)](https://travis-ci.org/protofire/livepeer-alerts-backend)\n[![Coverage Status](https://coveralls.io/repos/github/protofire/livepeer-alerts-backend/badge.svg?branch=master)](https://coveralls.io/github/protofire/livepeer-alerts-backend?branch=master)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/protofire/livepeer-alerts-backend/issues)\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/protofire/livepeer-alerts-backend/master/LICENSE)\n\n\n### Application\n\n[APP Live Version](https://livepeer.tools/)\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\nIn order to develop livepeer-alerts-backend, you'll need:\n\n- [Git](https://git-scm.com/) \n- [Node.js](https://nodejs.org/) \u003e= 8.10.0\n- [NPM](https://www.npmjs.com/) \u003e= 5.6.0\n- [MongoDB](https://www.mongodb.com/download-center/community) v4.0.4\n- [Sendgrid API KEY] \n\n## Frontend\nYou can take a look at the frontend right [here](https://github.com/protofire/livepeer-alerts-frontend)\n\n## Get Started\n- To run server, simply execute ```$ npm run start```\n- To run tests, simply execute ```$ npm run test```\n\nClone this repository and install npm dependencies:\n\n```\n1) git clone https://github.com/protofire/livepeer-alerts-backend.git\n2) cd livepeer-alerts-backend\n3) npm install\n4) Copy \".env.example\" and rename it as \".env\"\n5) Edit the \".env\" file with your SEND_GRID_API_KEY and your MONGO_HOST_URL \n6) npm start\n```\n\n## Configuration\n- Copy env example file to run in dev mode: ```$ cp .env.example .env ```\n\n\n## Running the tests\n\n```\n1) On the project folder run \"npm test\"\n\n```\n\n## API\n\nThe API is described in details on the [API](https://github.com/protofire/livepeer-alerts-backend/blob/master/API.md) readme.\n\n## Built With\n\n* [NodeJS](https://nodejs.org) \n* [NPM](https://www.npmjs.com/) - Dependency Management\n* [Web3](https://web3js.readthedocs.io/en/1.0/) - Ethereum JavaScript API\n* [Express](http://expressjs.com/)\n* [Livepeer SDK](https://github.com/livepeer/livepeerjs/tree/master/packages/sdk) - A module for interacting with Livepeer's smart contracts.\n* [Mongoose](https://mongoosejs.com/) - MongoDB object modeling\n\n## Notifications\nLivepeer state machine diagram used to send emails.\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./img/livepeer_notifications.png\"\u003e\n\u003c/p\u003e\n\n| Notification  |   Sended to   |   Sended at   |\n| ------------- | ------------- | ------------- |\n| Delegate claim reward call | Delegator, needs to be bonded | The subscription and at the beginning of the round  |\n| Delegate not claim reward call | Delegator, needs to be bonded | The subscription and at the beginning of the round |\n| Delegator is in unbonded state | Delegator | The subscription and at the beginning of the round |\n| Delegator is in unbonding state, notify rounds left to bond | Delegator | At the beginning of the round |\n| Delegate change the rules | Delegator | When the delegate change the rules |\n| Delegator is ready to bond | Delegator | When the status change from pending to bonded |\n| Delegate did reward call | Delegate | The subscription and at the beginning of the round  |\n| Delegate not did reward call | Delegate | The subscription and at the beginning of the round  |\n| Weekly earned LPT | Delegator | The subscription and after 7 rounds  |\n\n## Contributing\nPlease read [CONTRIBUTING.md](https://github.com/protofire/livepeer-alerts-backend/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/protofire/livepeer-alerts-backend/blob/master/LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Flivepeer-alerts-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotofire%2Flivepeer-alerts-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Flivepeer-alerts-backend/lists"}