NodeJS 로 다 중 온라인 채 팅 방 만 들 기 (NodeJS & Socketio & Express & EJS...)

기술 창고: NodeJS & SocketIO & Express & EJS & MongoDB & Gulp
프로젝트 배경
이 프로젝트 는 주로 NodeJS 를 놀 기 위 한 것 으로, 프로젝트 의 방향 은 대개 QQ 와 유사 한 온라인 채 팅 시스템 을 만 드 는 것 이다.온라인 체험 을 하려 면 온라인 프 리 젠 테 이 션 을 클릭 하 세 요.
프로젝트 는 PM2 를 사용 하여 배치 와 관 리 를 하고 기능 은 끊 임 없 는 교체 개발 에 있다.이 프로젝트 가 재 미 있 거나 도움 이 될 수 있다 면 스타 에 게 환영 합 니 다.
항목 주소:https://github.com/bergwhite/nchat
PS: 요즘 일자 리 를 찾 고 있 습 니 다. 북경 에 오신 것 을 환영 합 니 다.그리고 전에 Vue 온 가족 통 을 기반 으로 2 차 개발 한 V2EX 커 뮤 니 티 를 만 들 었 습 니 다.https://github.com/bergwhite/v2ex-vue。
프로젝트 디 렉 터 리

├─bin
│    www  //   express
├─database
│    index.js  // MongoDB
├─public  //     
│    css
│        index.css  //   CSS
│    js
│        index.js  //  socket      (    )
|        socket-server.js  // socket  (    )
│    img
├─routers
│    index.js  //     
├─view
│    error.ejs  //    
│    index.ejs  //   
│    userCenter.ejs  //     (   )
│    userList.ejs  //     (   )
├─app.js  // express
├─package.json  // npm 

경로
현재 / 디 렉 터 리 와 / room /: id 만 정식으로 사용 되 고 있 으 며, 다른 경로 의 페이지 는 아직 교체 개발 중 입 니 다.

/  //   
/user  //     
/user/:id  //     
/user/:id/register  //   (JSON)
/user/:id/login  //   (JSON)
/user/:id/logout  //   (JSON)
/user/:id/info  //     (JSON)
/room/:id  //      

설치 시작
사용 하기 전에 package. json 에서 MongoDB 의 설치 경로 (-- dbpath) 를 수정 하 십시오.

git clone https://github.com/bergwhite/nodejs-chat  //        
cd nodejs-chat  //       
npm install  //     
npm run build  //       
npm run mongod //   MongoDB  
npm run start //             

프로젝트 데모
현재 항목 에 알려 진 bug 가 존재 합 니 다. 이모 티 콘 은 div 아 날로 그 입력 상자 에 삽입 할 수 없습니다 (복구 중).
익명 채 팅
사용자 채 팅
멤버 & 방
오프라인 알림
더 많은 방
독립
이미 접속 한 기능
  • 크로스 브 라 우 저, 크로스 지역 채 팅 (SocketIO 자체 스 킬)
  • 첫 입장 시 환영 메시지 표시
  • 빈 메 시 지 를 보 내 면 알림
  • 메 시 지 를 직접 보 냅 니 다. 기본 닉네임 은 '미스터 리 맨'
  • 입 니 다.
  • 메 시 지 를 보 낸 후 현재 입력 상자 의 내용 을 비우 고 메시지 입력 상자 에 초점 을 맞 춥 니 다
  • 사용자 이름 을 추가 하면 새로운 사용자 가 되 고 방 전체 에 새로운 사용자 가 가입 했다 고 알려 줍 니 다
  • 서로 다른 방 을 만 들 수 있 고 서로 다른 방 의 채 팅 은 서로 독립 된 것 이다
  • 현재 방 의 온라인 사용자 표시 (사용자 이름 이 설 치 된)
  • 현재 열 려 있 는 모든 방 을 표시 합 니 다
  • 사용자 (사용자 이름 이 설 치 된) 오프라인 은 모든 방 안의 구성원 에 게 알 립 니 다
  • 온라인 코드 를 압축 하여 접근 속 도 를 가속 화
  • ...

  • 대기 기능
    사용자 이름
  • 익명 사용자 통계
  • 원 클릭 으로 사용자 이름 을 무 작위 로 가 져 오 는 것 을 지원 합 니 다
  • 두상
  • 방문객 은 기본 프로필 사진 사용
  • 새 사용자 (사용자 이름 이 설 치 된) 가 랜 덤 으로 프로필 사진 1 개 획득
  • 새 사용자 가 프로필 사진 을 바 꾸 면 기본 프로필 사진 에서 선택 할 수 있 습 니 다
  • 프로필 사진 업로드 지원 여 부 는 아직 고려 중 (안전성 문제)
  • 잡담 하 다
  • 다양한 이모 티 콘 지원
  • 사진 업로드 지원 여 부 는 아직 고려 중 (안전성 문제)
  • 데이터베이스
  • MongoDB 를 연결 하고 새 사용자 (사용자 이름 이 설 정 된) 가 비밀 번 호 를 설정 하면 임시 사용자 에서 정식 사용자
  • 로 바뀐다.
    프로젝트 결함
  • 화면 이 못 생 겼 다 (등 기능 이 완선 되 었 으 면 다시 고려 해 야 한다)
  • 이모 티 콘 은 div 아 날로 그 입력 상자 에 삽입 할 수 없습니다 (복구 중)
  • ...
  • 좋은 웹페이지 즐겨찾기