<commit_before># Overview

The puropose of this project is to provide an event bus that can be used from within web browsers via JavaScript as well as from applications in other languages. Events are added to the bus using an HTTP end point and then are distributed to attached listeners via WebSockets.

![Communications Flow](http://cl.ly/image/2i3Q2z0e2U3e/communications.png)

# Status

This project is brand new. It is NOT production-ready.

# Design

## Definitions

### Client

A client is a web browser, native client or application. Clients must always identify themselves after connecting via their WebSocket. Clients must also always include their identity in their event context when creating new events using the `identifier` key.

### Services
<commit_msg>More thoughts.<commit_after># Overview

The puropose of this project is to provide an event bus that can be used from within web browsers via JavaScript as well as from applications in other languages. Events are added to the bus using an HTTP end point and then are distributed to attached listeners via WebSockets.

![Communications Flow](http://cl.ly/image/2i3Q2z0e2U3e/communications.png)

This project is largely about the design of applications using this architecture, not just this implementation. Alternative implementations could be created with other components, such as existing open source or commercial message queues and web servers.

Thus, some of the key considerations are:

* What does an end-to-end event-driven web application look like?
* Is it a good way to develop web applications?
* What are the benefits and drawbacks when compared to existing synchronous and synchronous/asynchronous solutions?

# Status

This project is brand new. It is NOT production-ready.

# Design

## Definitions

### Client

A client is a web browser, native client or application. Clients must always identify themselves after connecting via their WebSocket. Clients must also always include their identity in their event context when creating new events using the `identifier` key.

### Services

{'fraction_non_alphanumeric': 0.04490584258812168, 'fraction_numerical': 0.005794302269435055, 'mean_word_length': 4.7555555555555555, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '754595', 'n_tokens_mistral': 495, 'n_tokens_neox': 479, 'n_words': 288}