|
1 | | -# Talk Control |
2 | | - |
3 | | -## Description |
| 1 | +# TalkControl |
4 | 2 |
|
5 | 3 | This project aims to make speakers' life easier by supplying an app to remotely control their slideshow. |
6 | 4 |
|
7 | | -It is composed by three main parts: |
8 | | - |
9 | | -- **Server** : it's the backend part of the app. |
10 | | - |
11 | | - It has 2 purposes : |
12 | | - |
13 | | - - It receives and send events to master(s) |
14 | | - - It stores the state of the app : slide number, etc... |
15 | | - |
16 | | - Its job is to work as the **single source of truth** for the app. |
17 | | - |
18 | | -- **Master** : the master is a set of views for the speaker. |
19 | | - |
20 | | - To control the talk, the master is the bridge between the slave(s) and the server. |
21 | | - It displays the slave(s) and listens for speaker events (key pressed, etc...), and send them to the server. |
22 | | - There are multiple master views, like : |
23 | | - |
24 | | - - The stage view : it displays the talk in an iframe in fullscreen |
25 | | - - The presenter view : it displays the current slide, the next one, the timer and the notes |
26 | | - |
27 | | -- **Slave** : the slave is a technical component added to a view (for example : the slideshow, the timer, etc...) to update it from events sent by the server or the master. |
28 | | - |
29 | | -### Technology stack |
30 | | - |
31 | | -This app is written in plain javascript, tested with mocha and chai and bundled with parcelJs. |
32 | | - |
33 | | -### Status |
| 5 | +## Getting started |
34 | 6 |
|
35 | | -Currently, this app is still in initial developpement phase. |
| 7 | +```bash |
| 8 | +npm i |
| 9 | +npm start |
36 | 10 |
|
37 | | -## Dependencies |
| 11 | +# Then open a browser and go to url: http://localhost:1234/ |
| 12 | +``` |
38 | 13 |
|
39 | | -For this to work you need to have Node.js v8 or more installed on your computer. |
| 14 | +## Documentation |
40 | 15 |
|
41 | | -## Usage |
| 16 | +The documentation of this project can be generated with the following commands : |
42 | 17 |
|
43 | | -Firstly install the dependencies |
| 18 | +```bash |
| 19 | +npm i # if not already done previously |
| 20 | +npm run jsdoc:build # build code documentation with JSDoc |
| 21 | +npm run docs:dev # build global documentation with vuepress |
44 | 22 |
|
45 | | -```sh |
46 | | -npm i |
| 23 | +# Then open a browser and go to url: http://localhost:8080/ |
47 | 24 | ``` |
48 | 25 |
|
49 | | -Then run the project |
| 26 | +## Help us |
50 | 27 |
|
51 | | -```sh |
52 | | -npm start |
53 | | -``` |
| 28 | +Feel free to add any issue that you might find useful to improve the project and even submit pull requests to help us :). |
54 | 29 |
|
55 | | -Now you just need to open your browser on localhost:1234. |
| 30 | +You can go check our [issues page](https://github.com/sfeir-open-source/talk-control/issues) |
56 | 31 |
|
57 | | -## How to test the software |
| 32 | +General instructions on _how to contribute_ can be found in the [CONTRIBUTING](CONTRIBUTING.md) file. |
58 | 33 |
|
59 | | -Run tests |
| 34 | +## Troubleshoot |
60 | 35 |
|
61 | | -```sh |
62 | | -npm test |
63 | | -``` |
64 | | - |
65 | | -## Getting help |
66 | | - |
67 | | -Feel free to add any issue that you might find useful to improve the project and even propose pull request to help us :). |
68 | | -You can go check our [issues page]('https://github.com/sfeir-open-source/talk-control/issues') |
| 36 | +In case of `Error: listen EADDRINUSE :::3000`, execute: |
69 | 37 |
|
70 | | -## Getting involved |
71 | | - |
72 | | -General instructions on _how_ can be found in the [CONTRIBUTING](CONTRIBUTING.md) file. |
| 38 | +```bash |
| 39 | +lsof -i :3000 |
| 40 | +kill -9 <PID> |
| 41 | +``` |
0 commit comments