Привет, друзья!
В данном туториале мы разработаем чат с использованием следующих технологий:
- TypeScript - статический типизатор;
- NestJS - сервер;
- Socket.IO - библиотека для работы в веб-сокетами;
- React - клиент;
- TailwindCSS - библиотека для стилизации;
- PostgreSQL - база данных (далее - БД);
- Prisma - ORM;
- Docker - платформа для разработки, доставки и запуска приложений в изолированной среде - контейнере.
Функционал чата будет таким:
- фейковая регистрация пользователей:
- хранение имен пользователей в памяти (объекте) на сервере;
- хранение имен и идентификаторов пользователей в localStorage на клиенте;
- регистрация подключений и отключений пользователей на сервере и передача этой информации подключенным клиентам;
- запись, обновление и удаление сообщений из БД в реальном времени на сервере и передача этой информации клиентам.