현대 사회에서는 빠르고 편리한 의사소통이 중요하다. 특히 웹 브라우저만으로도 누구나 쉽게 접근할 수 있는 실시간 채팅 시스템은 다양한 상황에서 유용하게 활용된다. 하지만 대부분의 채팅 프로그램은 복잡한 가입 절차나 설치가 필요하고, 간단한 커뮤니케이션을 원할 때 불편함이 있다. 이러한 문제를 해결하기 위해, 사용자가 닉네임만 입력하면 바로 입장할 수 있고, 실시간으로 다른 사용자들과 소통할 수 있는 간단한 웹 채팅 프로그램을 개발하고자 한다.
- 사용자가 닉네임을 입력하여 채팅방에 입장
- 입장 및 퇴장 시 시스템 메시지로 자동 알림 전송
- 채팅 메시지를 입력하면 모든 사용자에게 실시간으로 표시
- 현재 접속 중인 사용자 수를 화면 상단에 표시
- Socket.IO를 활용한 실시간 양방향 통신
- 사용자가 웹사이트에 접속한다.
- 닉네임을 입력하고 채팅방에 입장한다.
- 입장 메시지가 모든 사용자에게 자동으로 전송된다.
- 사용자가 채팅창에 메시지를 입력하면, 서버를 통해 실시간으로 모든 사용자에게 전송된다.
- 사용자가 나가면 퇴장 메시지가 자동 전송된다.
- 서버는 모든 메시지를 받아 다른 사용자에게 브로드캐스트하며, 클라이언트는 이를 실시간으로 출력한다.
- 상단: 현재 접속자 수 표시
- 중단: 채팅 메시지 출력창
- 하단: 메시지 입력창과 전송 버튼
- 설치가 필요 없고, 브라우저만으로 즉시 사용 가능
- 실시간 반응 속도가 빠르고, 여러 명이 동시에 참여해도 안정적인 통신 가능
- 단순한 구조로 유지보수가 쉽고, 기능 확장도 용이함
- 기존의 단순 채팅 예제와는 다르게 실시간 접속자 수를 표시하는 기능을 추가하여 사용자 경험을 개선함
- 별도의 회원가입이나 데이터베이스 연동 없이도 실시간 채팅 기능을 완벽하게 구현
- try-catch, 모듈화, 비동기 처리 등 학습한 JavaScript 개념을 실제 서비스에 적용하여 기능의 안정성과 구조적 완성도를 높임
- Frontend: React, Socket.IO Client
- Backend: Node.js, Express, Socket.IO
- 스타일링: CSS3, 반응형 디자인
npm install
npm run build
npm start이윤하 (2417)