Skip to content

lyhtll/webp-evaluation-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

실시간 웹 채팅 프로그램

프로그램 개발 목적

현대 사회에서는 빠르고 편리한 의사소통이 중요하다. 특히 웹 브라우저만으로도 누구나 쉽게 접근할 수 있는 실시간 채팅 시스템은 다양한 상황에서 유용하게 활용된다. 하지만 대부분의 채팅 프로그램은 복잡한 가입 절차나 설치가 필요하고, 간단한 커뮤니케이션을 원할 때 불편함이 있다. 이러한 문제를 해결하기 위해, 사용자가 닉네임만 입력하면 바로 입장할 수 있고, 실시간으로 다른 사용자들과 소통할 수 있는 간단한 웹 채팅 프로그램을 개발하고자 한다.

프로그램의 주요 기능

  • 사용자가 닉네임을 입력하여 채팅방에 입장
  • 입장 및 퇴장 시 시스템 메시지로 자동 알림 전송
  • 채팅 메시지를 입력하면 모든 사용자에게 실시간으로 표시
  • 현재 접속 중인 사용자 수를 화면 상단에 표시
  • Socket.IO를 활용한 실시간 양방향 통신

프로그램 전체 시나리오

  1. 사용자가 웹사이트에 접속한다.
  2. 닉네임을 입력하고 채팅방에 입장한다.
  3. 입장 메시지가 모든 사용자에게 자동으로 전송된다.
  4. 사용자가 채팅창에 메시지를 입력하면, 서버를 통해 실시간으로 모든 사용자에게 전송된다.
  5. 사용자가 나가면 퇴장 메시지가 자동 전송된다.
  6. 서버는 모든 메시지를 받아 다른 사용자에게 브로드캐스트하며, 클라이언트는 이를 실시간으로 출력한다.

화면 구성

  • 상단: 현재 접속자 수 표시
  • 중단: 채팅 메시지 출력창
  • 하단: 메시지 입력창과 전송 버튼

프로그램의 장점

  • 설치가 필요 없고, 브라우저만으로 즉시 사용 가능
  • 실시간 반응 속도가 빠르고, 여러 명이 동시에 참여해도 안정적인 통신 가능
  • 단순한 구조로 유지보수가 쉽고, 기능 확장도 용이함

아이디어 차별성

  • 기존의 단순 채팅 예제와는 다르게 실시간 접속자 수를 표시하는 기능을 추가하여 사용자 경험을 개선함
  • 별도의 회원가입이나 데이터베이스 연동 없이도 실시간 채팅 기능을 완벽하게 구현
  • try-catch, 모듈화, 비동기 처리 등 학습한 JavaScript 개념을 실제 서비스에 적용하여 기능의 안정성과 구조적 완성도를 높임

기술 스택

  • Frontend: React, Socket.IO Client
  • Backend: Node.js, Express, Socket.IO
  • 스타일링: CSS3, 반응형 디자인

실행 방법

npm install
npm run build
npm start

개발자

이윤하 (2417)

About

웹프 수행평가

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors