Node.js 응용 구축 - 소셜네트워크서비스
3660 단어 백엔드
기본적으로 사용할 수 있는 소셜네트워크서비스는 사용자가 안전하게 연락처를 인증하고 관리하며 채팅을 하고 실시간 업데이트를 볼 수 있도록 한다.
프런트엔드와 백엔드가 서로 보완되는 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. 실시간 상호작용
사용자 지정 이벤트 추가:
연락처 로그인 알림:
상태 업데이트:
통합:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Spring Framework] 10강 - RESTful API그런데 RESTful API를 쓴 경우는 URL에 행위가 안써져 있고 단순히 특정 데이터 명시가 필요할 경우만 데이터를 명시하고 끝이 납니다. 특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.