This application is PWA chat written on Typescript with RxJS. Through the use of the ServiceWorker, the application can work offline, and with the web app manifest, it can launch via icon on main screen at mobile devices.
There are not separate user dialogs at that moment - all users are in the same dialog(room).
Also, there is version of this chat written on Flutter.
- SignIn/SignUp by login(phone number) and password;
- Editing user profile: name, phone, avatar;
- Sending/receiving message between user via sockets;
- Work offline;
- Launching as separate native app from mobile main screen (PWA);
- RxJS for state management;
- Typescript for type checking;
- Axios-observable for handle http actions;
- Antd as components kits.
- Fp-ts to use abstractions that are available in most functional languages: Option, Either, Apply and etc.
For work with api, you need deploy server for authentication and receiving message.
Then, set appropriate urls (API_URL/WS_URL
) to api at package.json
.
npm i
for installing dependenciesnpm run dev
for development environment in watch modenpm run prod
for production environment in watch modenpm run analyze:dev
for bundle analyzing