Simple communicator app that allow sending text messages (and other attachments in future) in real time connection and saving conversation history.
- User is able to create new account protected by basic auth security (cridentials: login and password)
- When user is trying to log in, server generate JWT, based on user's cridentials, wchich is stored in session in client app
- JWT is sent in every request via http header
- When deserialized token is correct (Spring Security filter chain returns positive result), user is able to use server's REST API e.g. send message
- Sending messages process:
- When user fill message's editor input field and press send button, message is stored in database by http post method
- In same time, both participants of conversation subscribes appropriate websocket connection.
- For that moment, users are able to sending messages in real time, simultaneously storing history of conversation in DB
Backend Technologies:
- Spring boot
- Spring Security (Authentication and authorization)
- Spring Data, JPA, MySQL, MySQL connector (DB implementation and connection)
- JWT implementaion (Generating and decoding auth tokens)
- Websocket implementation (Creating and real time connection between clients
Frontend technologies:
- Angular
- ReactiveX
- Own HTML/CSS template (replaced with angular materials in the future)