https://github.com/lpil/progress
A service that keeps track of progress and publishes updates to subscribers
https://github.com/lpil/progress
api elixir lua microservice pubsub redis
Last synced: 8 months ago
JSON representation
A service that keeps track of progress and publishes updates to subscribers
- Host: GitHub
- URL: https://github.com/lpil/progress
- Owner: lpil
- Created: 2017-01-31T21:28:59.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-02-22T23:46:08.000Z (about 9 years ago)
- Last Synced: 2025-03-15T15:44:42.476Z (about 1 year ago)
- Topics: api, elixir, lua, microservice, pubsub, redis
- Language: Elixir
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Progress
A service that is notified of progress updates and publishes updates
to subscribers.
```sh
# Run the application
mix phoenix.server
# Run the tests
mix test
mix test.watch --stale
# Build the docker image
mix docker.build && mix docker.release
```
## About
Progress is an umbrella application containing 3 OTP applications.
- Core: Where business logic lives.
- Memory: A Redis based ethereal data store.
- Web: A web interface with a JSON API and websocket based pubsub system.
### Request response cycle
1. Requests arrive through Web.
2. Web deserializes the request and calls Core.
3. Core utilises Memory for storage if needed and returns to Web.
4. Web responds to the request and broadcasts over pubsub if needed.