나혼자먹는다 개발발표

29
나 나나 나나나 모모모 모모 모모모 모모 모모 모모 모모모모모 - 모모 모모 - 모모모 모모 : T 모모모모 모모 : 2015.02.24

Upload: sanghak-lee

Post on 15-Apr-2017

63 views

Category:

Career


0 download

TRANSCRIPT

Page 1: 나혼자먹는다 개발발표

나 혼자 먹는다

모바일 서버 전문가 과정 개발 발표

안드로이드 - 권혁서버 - 이상학

장소 : T 아카데미 일시 : 2015.02.24

Page 2: 나혼자먹는다 개발발표

INDEX• 서비스 소개

• 데모 시연

• 클라이언트 기술 발표

• 서버 기술 발표

Page 3: 나혼자먹는다 개발발표

Service Intro

Page 4: 나혼자먹는다 개발발표

Ser-vice

Client Server

010203

대학생 혼밥족이혼자서도 잘 먹게 해주는

Page 5: 나혼자먹는다 개발발표

Ser-vice

Client Server

010203 당신의 혼자 밥 먹는 일상을

기록하고 공유하세요

정서적 만족감: 혼자 밥 먹는 사람들끼리 인증 사진

집단지성 맞춤정보 : 지금 혼자 가기 좋은 식당 정보

Page 6: 나혼자먹는다 개발발표

Ser-vice

Client Server

010203

MAIN 혼밥팁

프로필 수정

팁쓰기

설정 페이지

팁 글 글 찍기 ( 좋아요 )

팁쓴이 프로필

설정

팁쓴이 페이지

전문 보기 ( 사진 ,글 ) 댓글 남기기

카테고리 필터링 상황 별

내용 입력카테고리 선택로그인하기가입하기 사진선택 SNS 공유하기

저장 글 삭제

공지사항

사진수정 이름 이메일 자주 가는 곳

알림 x

친구 초대

로그인로그아웃

페이스북카카오톡

팔로잉 하기팔로잉 끊기

팔로잉 , 팔로워 , 레벨

확인

알림보기

팔로잉 /팔로워

좋아요 ,레벨업

로그인

랭킹보기

지역명 지역변경

서비스 기능

Page 7: 나혼자먹는다 개발발표

Ser-vice

Client Server

010203

내혼밥

공감지수 (북마크 )

혼밥팁 ( 내 팁 )

프로필 수정

전문 보기 ( 사진 ,글 ) 댓글 확인

댓글 삭제

레벨지수

좋아요 찍은 글 모아보기

팔로잉 /팔로워

사진수정 이름 이메일 자주 가는 곳 MAIN

서비스 기능

Page 8: 나혼자먹는다 개발발표

Ser-vice

Client Server

010203

서비스 주요 기능

혼밥팁 쓰기 SNS공유

Point레벨 업팔로우

Page 9: 나혼자먹는다 개발발표

ClientAndroid

Page 10: 나혼자먹는다 개발발표

Service Client Server

01020304 데모 시연

Page 11: 나혼자먹는다 개발발표

Service Client Server

01020304

로그인 분리

Page 12: 나혼자먹는다 개발발표

Service Client Server

01020304

PullToRefresh library

Page 13: 나혼자먹는다 개발발표

Service Client Server

01020304

네비게이션 복잡도

Page 14: 나혼자먹는다 개발발표

Service Client Server

01020304

Google Cloud Message

Page 15: 나혼자먹는다 개발발표

Service Client Server

01020304 • 위치기반 글보기 및 글작성

• 카카오톡 친구초대

• 페이스북 로그인 , 글 공유

API 사용

Page 16: 나혼자먹는다 개발발표

ServerNode.js

Page 17: 나혼자먹는다 개발발표

Service Client Server

01020304

시스템 아키텍쳐ex-press

MEANndroid

Page 18: 나혼자먹는다 개발발표

Service Client Server

020304

Mongo DB01

ExpressNode.js

Mongo DB

JSON

JSON

Mongoose Module• 모든 데이터가 JSON 으로 저장• 고정적 Schema 없음• 확장에 용이• RDBMS 에 뒤지지 않는 인덱싱

Page 19: 나혼자먹는다 개발발표

기존 RDBMS

Service Client Server

020304

Mongo DB01

게시글좋아요

글쓴이글 사진

댓글

_id 글쓴이 댓글 글사진 좋아요a343fh1 Hak [] [] []

Page 20: 나혼자먹는다 개발발표

Service Client Server

020304

DeNormalization역정규화01

• Users follower[], followee[]

• Articles comment[], like[], picture[]

• Notices

• Gcms

Page 21: 나혼자먹는다 개발발표

Service Client Server

020304

DB Model01

Page 22: 나혼자먹는다 개발발표

Service Client Server

020304

Session01

로그인(session 서버에 저장 )

서버 재실행

세션 날아감

로그인(session 을 저장소에 저장 )

서버 재실행

세션 유지

Page 23: 나혼자먹는다 개발발표

Service Client Server

Redis Session

캐시 메모리에 저장 영속적으로 데이터 보존

• 세션의 생성 , 변경 , 삭제를 Redis 가 관리• 모바일 , 웹에서 생성되는 세션을 통합 관리• MongoDB 에 저장되는 정보와 따로 관리

Client Server2

Server3

Server1

Redis session store

020304

01

Page 24: 나혼자먹는다 개발발표

Service Client Server

Redis Session020304

01

• Key, Value 에 따른 고유 session 관리• Connect-redis 모듈 지원• 세션시간 , 추가 기능 지원

Page 25: 나혼자먹는다 개발발표

Service Client Server

Level-up Algorithm

Level 1 : 10 ~ 19Level 2 : 20 ~ 29Level 3 : 30 ~ 49Level 4 : 50 ~ 79Level 5 : 80 ~ 129Level 6 : 130 ~ 209Level 7 : 210 ~

글 1 개 게시 : 4 point좋아요 1 개 받음 : 2point

레벨이 변경됨

글쓰기 , 좋아요 요청을 받음

YES NO

Gcm 알림전송 포인트만 변경

Point 증가

020304

01

FibonacciSequence

Page 26: 나혼자먹는다 개발발표

Service Client Server

Follow Logic"follower" : [ ObjectId("54d5c34c2896d21c26a4a540"), ObjectId("54dc573b164168d80a0956c1")]

follower배열확인

팔로우 요청

일치 불일치배열에서 제거

( 팔로우 취소 )배열에 추가

( 팔로우 하기 )

ObjectId• 배열 저장 가능• addToSet, pull 제공• Populate 제공

020304

01

follower배열확인

사용자정보 확인

일치followYn = 1

불일치 fol-lowYn = 0

ObjectId

Page 27: 나혼자먹는다 개발발표

Service Client Server

Overall020304

01

• MongoDB 사용 (JSON 통신 )

• 빠른 DB 모델 수정• DB 에 배열을 사용 (follow, like)

• Redis session 저장소를 활용• Gcm 메시지를 MongoDB 에 저장• 새로운 의미의 MEAN stack

05

Page 28: 나혼자먹는다 개발발표

Service Client Server

향후계획020304

01

05

• Instagram 연동 ( 타 SNS )

• 관리자 페이지 보완• MongoDB 트랜잭션 구현• 강력한 password 암호화• Redis 활용한 빠른 쿼리• Password 변경 및 찾기

Page 29: 나혼자먹는다 개발발표

Thank you모바일 서버 전문가 과정 개발 발표

안드로이드 - 권혁서버 - 이상학