This is a simple chat messenger. It is a project for the course "Middle Frontend Developer" Yandex Practicum.
- HTML
- Handlebars
- CSS
- SCSS
- Typescript
- Vite
- Eslint
- Prettier
- Stylelint
- Husky
- Lint-staged
- WebSocket
- Mocha
- Chai
- Clone the repository.
- Run
npm install
. - Run
npm run dev
. - Open
http://localhost:5173/
in your browser to see the project in development mode. - Run
npm run build
to build the project. - Run
npm run start
to serve the project in production mode and openhttp://localhost:3000/
in your browser. - Run
npm run test
to run tests.
- Improved UI/UX design.
- Authentication and user registration.
- Implemented Route class and routing.
- Implemented Store class and state management.
- Added middleware for tracking whether the user is authenticated or not. Also, the auth state is preserved in session storage.
- Implemented user profile functionality with the ability to edit user data.
- Implemented real-time chat functionality using WebSocket.
- Implement chat list panel.
- Implemented message input and file attachment - only media files (jpg, gif, svg, png).
- Implemented chat log - messages list
- Implemented add chat
- Implemented delete chat
- Implemented update avatar for chat
- Implemented add user to chat
- Implemented delete user from chat
- Implemented update chat avatar
- Implement test for Block, Router, HTTPTransport, LoginPage