Node.js 응용 구축 - 소셜네트워크서비스

3660 단어 백엔드
코드https://github.com/Swiftam/book-node-mongodb-backbone
기본적으로 사용할 수 있는 소셜네트워크서비스는 사용자가 안전하게 연락처를 인증하고 관리하며 채팅을 하고 실시간 업데이트를 볼 수 있도록 한다.
프런트엔드와 백엔드가 서로 보완되는 MVC 시스템

1. 디렉터리 구조


Node를 나누다.js 및 Backbone.js

2. 가방 정의


    package.json
{
    "name": "my-social-network",
    "version": "0.0.1",
    "private": true,
    "dependencies": {
      "express": "~3.0.0",
      "jade": ">= 0.0.1",
      "mongoose": ">= 2.6.5",
      "nodemailer": "0.3.20",
      "connect": ">= 1.9.1",
      "socket.io": "~0.9",
      "cookie": "0.0.4"
  }
}

3. 사이트 서버

|____config
| |____mail.example.js
|____public
| |____images
| | |____trafficlight.png
| |____js
| | |____boot.js
| | |____SocialNetSockets.js
| | |____router.js
| | |____SocialNetView.js
| | |____views
| | | |____chat.js
| | | |____chatsession.js
| | | |____contacts.js
| | | |____contact.js
| | | |____login.js
| | | |____forgotpassword.js
| | | |____register.js
| | | |____chatitem.js
| | | |____addcontact.js
| | | |____status.js
| | | |____profile.js
| | | |____index.js
| | |____SocialNet.js
| | |____models
| | | |____ContactCollection.js
| | | |____Contact.js
| | | |____StatusCollection.js
| | | |____Account.js
| | | |____Status.js
| | |____libs
| | | |____backbone.js
| | | |____text.js
| | | |____require.js
| | | |____jquery.js
| | | |____underscore.js
| |____templates
| | |____chatsession.html
| | |____contact.html
| | |____index.html
| | |____chatitem.html
| | |____forgotpassword.html
| | |____login.html
| | |____addcontact.html
| | |____profile.html
| | |____status.html
| | |____chat.html
| | |____contacts.html
| | |____register.html
| |____styles
| | |____styles.css
|____app.js
|____views
| |____resetPasswordSuccess.jade
| |____resetPassword.jade
| |____layout.jade
| |____index.jade
|____snippets
| |____login_connect.js
| |____account_contact.js
| |____README.md
| |____express_status.js
| |____event_login.js
| |____login_disconnect.js
| |____event_logout.js
|____package.json
|____routes
| |____chat.js
| |____authentication.js
| |____accounts.js
|____models
| |____Account.js

4. 인증


어떤 기능에 접근하기 전에 이 기능을 실행할 권리가 있음을 증명해야 한다.계정: 데이터베이스 필드에는 이메일 주소, 비밀번호, 이름, 그림, 설명과 프로필이 포함되어 있습니다.models/Account.js
라우트:뷰와 뷰 사이의 탐색Backbone.js의 Router 클래스.예컨대http://localhost:8080/#register.public/js/router.js
인증: 사용자는 두 가지 상태가 있을 수 있습니다: 검증과 미경험증입니다.Node 백엔드에 AJAX 요청을 보내야 합니다.현재 요청 헤더의 세션 ID로 식별된 세션을 확인하고 유효한 액세스 토큰과 연결합니다.
세션 검사를 통해.loggedIn 속성
등록: 사용자 이름, 이메일 및 암호.public/templates/register.html
로그인: 액세스 권한 부여.인터페이스 및 프로세서
암호 잊기: 템플릿과 보기 클래스
암호를 재설정하려면:
통합:

5. 사용자 인터페이스


계정 내역: 사용자가 직접 보고 수정할 수 있으며 다른 사람은 친구로 추가할 수 있습니다
연락처 목록:
활동 흐름: 당신의 홈페이지와 유사하게 연락처 계정의 명세서 변경을 강조합니다.
데이터 모델: 매우 관건
통합:

친구를 사귀다


연락처 목록: 모든 관계의 최신과 최첨단 정보를 표시하고 새로운 연락처를 찾는 방법을 제공합니다.
연락처 추가: 친구 부분이나 전체 정보를 볼 수 있습니다.
연락처 삭제: 쌍방의 연락처 목록에서 삭제.
댓글: 당신의 연락처 자료에 댓글 추가
통합:

7. 채팅


가능한 한 빨리 한 측의 정보를 다른 측에 전달하고 기록 로그나 데이터베이스 검색 같은 다른 영향 교류에 영향을 주지 않는다.
재구성:
채팅 서버에 연결: 메시지를 보내기 전에 인증과 연결이 필요합니다.웹 소켓은 인증에 성공한 후에 사용자를 검증할 필요가 없습니다.socket이 필요합니다.io와 쿠키 라이브러리.
채팅 메시지 발송 및 수신: 이벤트 socket:char:start와 socket:chat:in.채팅 메시지를 받으면 관심 있는 모든 관찰자들은 세션을 열고 들어오는 메시지를 처리해야 한다는 것을 알게 된다.
통합:

8. 실시간 상호작용


사용자 지정 이벤트 추가:
연락처 로그인 알림:
상태 업데이트:
통합:

좋은 웹페이지 즐겨찾기