mirror of https://github.com/01-edu/public.git
lee
4 years ago
2 changed files with 68 additions and 0 deletions
@ -0,0 +1,31 @@
|
||||
## typing in progress |
||||
|
||||
### Objectives |
||||
|
||||
You must follow the same [principles](https://public.01-edu.org/subjects/real-time-forum/README.md) as the first subject. |
||||
|
||||
For this project you must create: |
||||
|
||||
- A Typing in progress engine |
||||
|
||||
### Instructions |
||||
|
||||
A typing in progress engine is the a way that people can see that a user is typing in real time. Allowing you to see in real time that the other user is replying or sending a message. |
||||
|
||||
The typing in progress engine must work in real time! This meaning that if you start typing to a certain user this user will be able to see that you are typing |
||||
|
||||
This engine must have/display: |
||||
|
||||
- A websocket to stablish the connection with both users |
||||
- An animation so that the user can see that you are typing, this animation should be smooth (no interruptions/janks) and just enough to draw attention for the user to see (user friendly) |
||||
- The name of the user that is typing |
||||
- When ever the user stops typing or finishes the conversation, it should not display the animation |
||||
|
||||
For help displaying the typing in progress you can take a look on the js [event](https://developer.mozilla.org/en-US/docs/Web/Events) list, primarily the **Keyboard events** and the **Focus events** |
||||
|
||||
This project will help you learn about: |
||||
|
||||
- [Go routines](https://golangbot.com/goroutines/) |
||||
- [Go channels](https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb) |
||||
- [WebSockets](https://en.wikipedia.org/wiki/WebSocket) |
||||
- [Events](https://developer.mozilla.org/en-US/docs/Web/Events) |
@ -0,0 +1,37 @@
|
||||
#### Functional |
||||
|
||||
##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing. |
||||
|
||||
###### Can you confirm that the typing in progress engine works? |
||||
|
||||
##### Using the same two browsers, start typing with one of the users. |
||||
|
||||
###### Can you confirm that the typing in progress has the name of the user that is typing? |
||||
|
||||
##### Using the same two browsers, start typing with one of the users. |
||||
|
||||
###### Is there any animation from the typing in progress |
||||
|
||||
##### Using the same two browsers, start typing with one of the users. |
||||
|
||||
###### Does the animation work smoothly, without movement interruptions? |
||||
|
||||
##### Using the same two browsers, start typing with one of the users. |
||||
|
||||
###### Is the animation from the typing in progress engine user friendly (easy to understand/see)? |
||||
|
||||
##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing and then stop. |
||||
|
||||
###### Can you confirm that the typing in progress engine stopped when the user stop typing? |
||||
|
||||
##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one, then start a conversation between the users. |
||||
|
||||
###### Is typing in progress engine working properly in both users? (each one can see when the other is typing or not) |
||||
|
||||
#### Bonus |
||||
|
||||
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc) |
||||
|
||||
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/README.md)? |
||||
|
||||
###### +Is the code using synchronicity (Promises and goroutines/channels) to increase performance? |
Loading…
Reference in new issue