mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
typing in progress
Objectives
You must follow the same principles as the first subject.
For this project you must create:
- A Typing in progress engine
Instructions
A typing in progress engine is a way that people can see that a user is typing in real time. Allowing you to see 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
- Whenever the user stops typing or finishes the conversation, it should not display the animation
To help with the display of the typing in progress you can take a look on the js event list, mainly the Keyboard events and the Focus events
Allowed Packages
- All standard go packages are allowed.
- Gorilla websocket
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
This project will help you learn about:
- Go routines
- Go channels
- WebSockets:
- Go Websockets
- JS Websockets
- Events