A minimalistic chat based on websockets. Core features are: messaging and channels (with couple of default ones and creating, renaming and deleting new ones).
1. git clone ...
2. make install
While in project root directory:
make start
This will start both frontend and backend. Go to localhost:3000 to check the chat ;)
See other options and commands in Makefile.
To enter the chat, you can sign up as a new user or sign in as an admin with the same password.
Client: React, Redux Toolkit, React-Bootstrap, socket.io
Server: Fastify, socket.io
Additional libraries:
- i18next for easy re-use and editing all UI texts
- axios for fetching first-load chat data
- formik for making react forms
- yup for forms validation schemas
- react router for routing in the SPA
- toastify for nice toasty notifications
- leo-profanity for filtering bad words in EN and RU
- axios for fetching first-load chat data
- eslint with air-bnb rules for checking the code
- rollbar to watch for client errors in production