reactivity-io / reactivity

Reactivity is an agile tool that allows you to manage the activity that matters in a free, 100% OSS and reactive web application.
MIT License
5 stars 1 forks source link

Create the list view component #4

Open gdrouet opened 7 years ago

gdrouet commented 7 years ago

User story

Acceptance criteria

The feature shows how the web application opens a HTTP connection to the broadcaster that simply selects artifacts from a view manually created in couchbase.

When the user connects, he must be authenticated as an anonymous user who will retrieve the organization and an associated view that use the creation date as timestamp key. Then, the web application subscribes to that view in order to receive the artifacts.

Since view subscription are managed in the session, the broadcaster micro service must manage a session with spring security and provide an access to couchbase through spring-data framework.

The application must run with the HTTPS protocol.

Out of scope

Kafka and Zookeeper integration are out of scope of this feature. We also exclude the Hazelcast support for distributed session. The application will just work as a single instance not ready to scale yet.

The features are also strongly limited for this first iteration:

NathanDM commented 7 years ago

Is SSE connection still needed ?

gdrouet commented 7 years ago

No because sending messages only for some subscribers is currently not natively supported by reactor and we need to decide how we'll handle this case. So for now we create a short-live connection with only one subscriber (the HTTP response itself) and avoid multiple subscriptions to one long-live SSE connection.

I can update the issue, but before there is also a statement regarding authentication. Subscriptions are currently mocked at API-endpoint level and we are supposed to mock them at session level instead, which means that we are supposed to deploy session management with anonymous user registration. Do we keep this target? We can or we add concrete authentication with firebase instead.

gdrouet commented 7 years ago

Update regarding previous comment: