We need to create a data listener that will collect and store data from streams, so that we then can make a decision if something is breaking news or not when the API is being queried.
**Acceptance criteria**
- Aggregate and collect following data per article in redis:
- Unique Editors / 48h -> `set`
- Key: `article:{porject_id}:{article_id}:editors`
- Value: `set` of editor names
- Expiration: `48h`
- Edit Count -> `number`
- Key: `article:{porject_id}:{article_id}:edits`
- Value: [integer](https://redis.io/docs/data-types/strings/)
- Expiration: `48h`
- Date Created -> `timestamp`
- Key: `article:{porject_id}:{article_id}:date_created`
- Value: [string](https://redis.io/docs/data-types/strings/)
- Expiration: `48h`
- Date Namespace Moved -> `timestamp`
- Key: `article:{porject_id}:{article_id}:date_namespace_moved`
- Value: [string](https://redis.io/docs/data-types/strings/)
- Expiration: `48h`
- Version ID -> `number`
- Key: `article:{porject_id}:{article_id}:version`
- Value: [integer](https://redis.io/docs/data-types/strings/)
- Expiration: `48h`
- Data collection should be done only for articles that were created in last `48h` ( set with env variable)
**ToDo**
- [ ] listen to `aws.event-bridge.page-create.v1`, `aws.event-bridge.page-move.v1` and `aws.event-bridge.page-update.v1` topics
- [ ] add connection to Redis
- [ ] hide the implementation behind `interface` of getters and setters and make it as library