Motivation
Chat applications are very common nowadays, we use them every day.
But is developing a chat application that easy?
Or is it easier said than done?
I am here to find out.
The main technology I want to explore is Websocket, which allows real time updates between clients.
A truly fascinating technology, before Websocket, we need to use RESTful APIs to do long polling or short polling,
which is inefficient and creates a huge server load.
1. Frontend
Angular was never as dominant in the market as React.js.
But in fact, Angular is still a very popular choice among enterprise level applications.
Why is that?
Angular offered a lot more than React.js out of the box. The most apparent one is the router, you have to install plugin to use router in React.js, but Angular has router built in.
2. Backend
I have always been a Spring Boot developer, which is a very all-rounded backend framework. However, it is considered
quite heavily weighted compared to many other frameworks. Therefore, Kotlin is a JVM Language that aims to replace Java.
I would like to see how was it if I were to develop in a lightweight framework like Ktor
Description
This chat application allows users to chat in real time using Websocket connections.
Users can also search for their desired chats, as well as create a new chat with someone new.