Need to develop mini project 1-3 hours max spending using lightningjs.io
Budget: $10 – $30 USD
Projects needs to follow following scenarios :
Create a git repository containing a runnable Single Page Application ("SPA"), that can connect to, subscribe to and consume, events from the provided MacEnrobot WebSocket Server ("MacEnrobot").
The SPA's primary goal is to be a live scoreboard for tennis matches, using the MacEnrobot simulation to develop against. The key features of the scoreboard are:
- a game clock; and
- presentation of the key live scores, i.e. game, set and match progress.
In addition, there is other data in the live events that you may think of clever ways to present if you have the time, such as:
- aces;
- double faults; and
- first serve faults.
1. Running MacEnrobot
Assuming you have completed the initial instructions that are provided with the assessment (they lead you to this document, so there's a high chance you have! ?), you can simply run the following from the root of your project's folder to start MacEnrobot:
```bash
npm exec macenrobot
```
Once running, you can connect to the server on `ws://localhost:8081`. If you need to change the port, you may use the `WS_PORT` environment variable. Along with the standard approaches, this environment variable can be passed using a `.env` file at the root of your package. For example:
```ini
# .env
WS_PORT=8082
```
Any problems, please let us know!
## Suggestions
If you are unfamiliar with WebSocket, check out these excellent resources from mdn:
- [The WebSocket API](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)
- [Writing WebSocket client applications](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications)
[Postman](https://www.postman.com/) is a handy GUI tool for exploring WebSocket servers (but there are many others of course).
If you are unfamiliar with the scoring of tennis, check out [this guide](https://www.lta.org.uk/play/how-to-get-started/rules-scoring/) or do a bit of internet searching.
MacEnrobot is fully documented using the [Async API standard](https://www.asyncapi.com/) in [this YAML document](./docs/macenrobot.yaml) (i.e. the "macenrobot.yaml" file provided with these instructions). Bear in mind that you are the subscriber and MacEnrobot is the producer in this scenario. (_HINT:_ Async API has an [online document studio](https://studio.asyncapi.com/) if you are unfamiliar with the spec).
We encourage you to build the SPA using [LightningJS](https://lightningjs.io/) but you are not required to do so.
Spend a little time at the beginning to document how you intend to approach this task.
Try to timebox yourself to under 3 hours.
Consider using your commit history as a way of roughly documenting your approach.
Create a git repository containing a runnable Single Page Application ("SPA"), that can connect to, subscribe to and consume, events from the provided MacEnrobot WebSocket Server ("MacEnrobot").
The SPA's primary goal is to be a live scoreboard for tennis matches, using the MacEnrobot simulation to develop against. The key features of the scoreboard are:
- a game clock; and
- presentation of the key live scores, i.e. game, set and match progress.
In addition, there is other data in the live events that you may think of clever ways to present if you have the time, such as:
- aces;
- double faults; and
- first serve faults.
1. Running MacEnrobot
Assuming you have completed the initial instructions that are provided with the assessment (they lead you to this document, so there's a high chance you have! ?), you can simply run the following from the root of your project's folder to start MacEnrobot:
```bash
npm exec macenrobot
```
Once running, you can connect to the server on `ws://localhost:8081`. If you need to change the port, you may use the `WS_PORT` environment variable. Along with the standard approaches, this environment variable can be passed using a `.env` file at the root of your package. For example:
```ini
# .env
WS_PORT=8082
```
Any problems, please let us know!
## Suggestions
If you are unfamiliar with WebSocket, check out these excellent resources from mdn:
- [The WebSocket API](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)
- [Writing WebSocket client applications](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications)
[Postman](https://www.postman.com/) is a handy GUI tool for exploring WebSocket servers (but there are many others of course).
If you are unfamiliar with the scoring of tennis, check out [this guide](https://www.lta.org.uk/play/how-to-get-started/rules-scoring/) or do a bit of internet searching.
MacEnrobot is fully documented using the [Async API standard](https://www.asyncapi.com/) in [this YAML document](./docs/macenrobot.yaml) (i.e. the "macenrobot.yaml" file provided with these instructions). Bear in mind that you are the subscriber and MacEnrobot is the producer in this scenario. (_HINT:_ Async API has an [online document studio](https://studio.asyncapi.com/) if you are unfamiliar with the spec).
We encourage you to build the SPA using [LightningJS](https://lightningjs.io/) but you are not required to do so.
Spend a little time at the beginning to document how you intend to approach this task.
Try to timebox yourself to under 3 hours.
Consider using your commit history as a way of roughly documenting your approach.