Chat (Slack) is a real-time application on React/Redux of the Slack app that allows you to exchange messages in various channels.
The project included working with web sockets, interacting with REST API, using React (with hooks), Redux (via reduxjs/toolkit), organizing routing on the client, authorization and authentication, assembly (webpack) and deployment.
Link to Chat
Link to documentation for Backend Chat @hexlet/chat-server
- Create React App for building single-page React applications;
- Deployment on Render;
- Monitoring Errors in Production Using Rollbar;
- Using React Router Routing;
- Styling using Bootstrap for React— html/css framework;
- Asynchronous requests using axios;
- Using the Socket.IO library, which provides two-way communication between clients and servers in real-time;
- Redux Toolkit for managing and updating global application state;
- Forms using the Formik library;
- Using the Yup library for data validation;
- Using an internationalisation framework i18next;
- Leo-profanity library for filtering obscene words;
- GitHub Actions, Eslint, Prettier for maintain code quality;
- Building a project architecture (MVC);
Sign up by the next login and password:
- Login: admin
- Password: admin
Or register your own account.
- Send a message in the default channels (#general and #random) or create your own channel;
- You can delete or rename the created channel;
- Send and receive messages in real-time;
- There is a filter for words in messages and channels; bad words will be hidden by '*';
- git clone this repository to your computer;
- make sure that you have node.js and npm installed;
- install dependencies and let your system run the package:
make install
- build the project:
make build
- to run app:
make start
Other commands can be found in the Makefile.