2.1차 중간 보고

                 종합설계 프로젝트 1차 중간보고서 요약

팀명

White Hole

제출일

2012 4 3

프로젝트 제목

Social Map

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

  • 계획 추진 배경 
    일반 갤러리와 달리 위치를 기반으로 지도 위에서 사진을 한눈에 관리할 수 있고, 사진 데이터를 이용하여 시간별 이슈, 지역별 이슈 정보를 알 수 있다. 또한 SNS와의 연동을 통해 유저의 사진과 친구의 사진을 공유할 수 있다.
 마일스톤 수행 내용

마일스톤

개요

시작일

종료일

제안발표

제안서 및 홍보동영상네트워크 인터페이스

디자인 UI 틀 완성로컬 DB 구현

2013-02-20

2013-03-07

1차 결과물 점검

Login모듈(서버-클라이언트/구글-클라이언트), Facebook 연동 구현, Google Map API 지도 구성이미지 캐싱/비동기 로딩 적용, 내 핸드폰의 사진 지도 위에 드로잉, 페이스북 사진 지도위에 드로잉, 자동 이미지 위치 태깅, Social Map 서버와 클라이언트의 Login 모듈, User DB에 저장하여 회원관리 구현

2013-03-08

2013-04-04

중간 발표

GAE Spatial Query 연구서버-클라이언트간 데이터통신, HOT&COOL-Place 구현전체보기/백그라운드 서비스/새로고침/리스트 등 Map 기능 구현

2013-04-05

2013-05-02

개발 완료

Oauth2.0 프로토콜 이용 구현, MemCache구현라벨별 구현, Newsfeed 구현 SNS와 연동 구현검색기능 추가댓글보기 자체구현  이외에도 사용자의 편리함을 위해 지속적인 개선

2013-05-03

2013-05-28
















1. Login모듈(서버-클라이언트/구글-클라이언트) : 구현

 - 핸드폰의 기본 Google 계정을 통해 Google Account Server로 부터 AccessToken을 받아와 Google App Engine에 Login하는 방식을 이였다. 

2. Facebook 연동 구현, Google Map API 지도 구성 : 구현

 - Facebook에서 제공하는 LoginButton widget을 이용, 수정하여 로그인을 구현하였다. 상황에 따라 3가지의 그인 방식이 있다. 그리고 Facebook 서버에 사진을 요청하여 받아온 json으로 된 자료를 분석하여 리스트로 사진 각각을 저장하는 방식으로 구현하였다.

3. 지도 구성 : 구현

- Google Maps API v2를 사용하여 지도를 나타내었다.

3. 이미지 캐싱/비동기 로딩 적용 : 구현

- Image Loader 라이브러리를 사용하여 인터넷 상에서 링크를 사용한 이미지 로드시 이미지를 캐싱과 비 동기 적인 로딩이 가능하도록 하였다.

4. 내 핸드폰의 사진 지도위에 드로잉 : 구현

- Google Maps API v2의 마커, 인포윈도우를 이용하여 내 핸드폰의 사진을 지도위에 드로잉 한다. 캔버스와 Paint 객체를 이용하여 비트맵 이미지를 커스터마이징 하고, Clustering 알고리즘을 사용하여 사진들을 군집화 하여 나타낸다.

5. 페이스북 사진 지도위에 드로잉 : 구현

- 페이스북 계정으로 로그인한 사용자의 Access token을 이용하여 페이스북으로부터 내 사진 정보를 받아오는 함수로부터 내 페이스북 사진 정보를 받아와 지도 위에 드로잉 하였다.

6. 자동 이미지 위치 태깅 : 구현

- 브로드 캐스트 리시버를 이용하여 사용자가 사진을 찍어서 SD 카드에 사진이 저장될 때의 방송을 캐치하여 그 시점의 사용자의 위치정보를 최근의 추가된 사진에 자동 저장한다.

7. Social Map 서버와 클라이언트의 Login 모듈

Oauth2.0 Protocol을 이용한 Social Map 서버와 클라이언트간의 Google Account를 이용한 Login 모듈을 구현하였다

8. User DB에 저장하여 회원관리

Login 모듈을 이용하여 접근할 때 Google Account 정보를 이용하여 User의 정보를 획득하고 Google App Engine DataStore를 사용하여 저장하여 회원관리한다.


동영상   

8조 Whitehole - Social MAP 1차 시연동영상


다음 마일스톤 일정 (중간 발표: 2013-04-05 ~ 2013-05-02)

서버 / 안드로이드

개발계획

세부내용

서버

사진 저장

앱에서 받은 public사진을 DB에 저장한다.

서버

사진 보내기

DB에 있는 사진을 앱에게 제공한다.

서버

핫플레이스 계산

앱의 사진 올리기 기능을 통해 올라온 사진들의 위치정보를 이용하여 현시간 및 매시각마다 가장 많이 올라온 지역을 핫플레이스로 계산하여 최대 12시간전의 핫플레이스까지 저장한다.

안드로이드(페이스북)

public사진 받아오기

유저의 사진중 public사진만 받아온다

안드로이드(페이스북)

public사진 보내기

public사진을 서버로 보낸다

안드로이드(페이스북)

친구리스트 받아오기

페이스북의 내 친구리스트를 받아온다

안드로이드(페이스북)

친구 사진 받아오기

친구리스트를 이용하여 각각의 친구사진까지 받아온다

안드로이드(페이스북)

사진 업로드

앱상에서 페이스북에 휴대폰의 사진을 올린다

안드로이드

구글 로그인

구글 계정 연동 구현 및 완성

안드로이드

친구 사진 드로잉

맵 위에 페이스북 친구들의 사진을 드로잉 하는 것을 구현한다.

안드로이드

전체 사용자 보기 구현

맵 위에 앱을 사용하는 사용자들의 public 사진 만을 모아 보여주는 전체 사용자 보기 항목을 구현한다.

안드로이드

기기 별로 같은 화면 구성

기종마다 다른 해상도라도 일관된 화면을 나타낼 수 있도록 구현한다.

안드로이드

새로고침 기능 구현

사용자가 앱 실행 중에 새로 고침을 선택했을 경우 페이스북과 서버로부터 다시 데이터들을 받아와 최신 업데이트 사진들을 보여주는 기능을 구현한다.

안드로이드

리스트로 사진보기 구현

사진들을 맵으로 볼 수 있을 뿐만 아니라 그리드 뷰 형태로도 볼 수 있는 기능을 구현한다.

안드로이드

사진 삭제 기능

내 핸드폰의 사진의 경우 사진을 long 클릭 시 해당 사진을 앱과 SD카드에서 삭제할 수 있는 기능을 구현한다.



Ċ
8조 캡스톤,
2013. 4. 3. 오후 10:57