250 likes | 873 Views
2014. 4. 4. ( 금 ) D 팀 명경백 , 류길현 , 임채경. Yobi 서비스를 위한 오픈 API 설계 및 구현 ( 오픈 소스 ). Contents. Overview Goal/Problem & Requirement Approach Development Environment Architecture Basic Spec Current Status Further plan Division and Assignment of work Schedule Appendix: Detailed Spec.
E N D
2014. 4. 4. (금) D팀 명경백, 류길현, 임채경 Yobi서비스를 위한 오픈 API 설계 및 구현 (오픈 소스) Project2 Spring, 2014; Spec
Contents • Overview • Goal/Problem & Requirement • Approach • Development Environment • Architecture • Basic Spec • Current Status • Further plan • Division and Assignment of work • Schedule • Appendix: Detailed Spec Project2 Spring, 2014; Spec
Overview 신영길 교수님 엄현상 교수님 최진영 조교 서석만 조교 D팀 명경백, 류길현, 임채경 회사명: ㈜네이버 대표이사: 김상헌 설립연도: 1999년 담당자: 옥상훈 부장 시가총액: 26조 매출: 2.3조(2013/12) Project2 Spring, 2014; Spec
Overview Project2 Spring, 2014; Spec
Overview Project2 Spring, 2014; Spec
Overview Project2 Spring, 2014; Spec
Overview Project2 Spring, 2014; Spec
Overview • 협업 개발 플랫폼 • 프로젝트를 생성해서 코드 관리 • 이슈 트래킹 • 정보 공유 가능한 협업 개발 http://demo.yobi.io/ • Yobi서비스는 현재 오픈소스로 제공 중 https://github.com/nforge/yobi/ Project2 Spring, 2014; Spec
Goal/Problem & Requirement • Yobi서비스를 위한 오픈 API 를 설계 및 구현함 Input: 오픈 API는 RESTful하게 설계함 Output: 오픈 API는 json포맷으로 데이터를 리턴함 Input: GET http://yobi.io/issues OpenAPI Yobi json format ... Output Figure 1. Overview ※json: JavaScript Object Notation Project2 Spring, 2014; Spec
Approach • Yobi service is too complicated • File size of Yobi service is 77Mb • Clone of Yobi is Github • There is no Open API in Yobi • Solve problems in complicated and big project by Open API • We can be a pioneer of Open API in Yobi project Project2 Spring, 2014; Spec
Development Environment • Playframework 2 + JAVA • Ebean (ORM) • JGit • Twitter Bootstrap + Custom CSS • LESS • H2 Embedded DB • ※ORM: Object-Relational Mapping Project2 Spring, 2014; Spec
Architecture Figure 2. Playframework structure Project2 Spring, 2014; Spec
Architecture(flow) Client Playframework Controller ①HTTP request Action Router ② ⑥ ⑦ ③ View -json -XML -HTML Model ④ DB ⑧HTTP response ⑤ Figure 3. Flow of Playframework Project2 Spring, 2014; Spec
Basic Spec • Yobi핵심 서비스 분석 – Yobi서비스를 분석해 오픈 API로 구현할 내용을 선정 – Yobi서비스의 데이터 저장 구조를 파악 • Yobi오픈 API 설계 – 오픈 API는 RESTful하게 설계함 – 오픈 API는 json포맷으로 데이터를 리턴함 • Yobi오픈 API 구현 – Yobi의 데이터 저장소로 부터 데이터를 패치해서리턴하는 프로그램 구현 – 오픈 API 구현물은오픈소스 프로젝트 진행함 Project2 Spring, 2014; Spec
Current Status • Yobi핵심 서비스 분석 중 • Yobi오픈 API 설계 결정 방향 설정 • 운영중인 Yobiservice에 contribute함 - contributor로 인증 됨 Project2 Spring, 2014; Spec
Further Plan • Apply source patch and complete full request • Design of Input request • Endure abnormal request • Implement app using our Open API Project2 Spring, 2014; Spec
Division and Assignment of Work Project2 Spring, 2014; Spec
Schedule Project2 Spring, 2014; Spec
감사합니다 명경백 (kbmyung@naver.com) Project2 Spring, 2014; Spec
Appendix: Detailed Spec • 이슈 관리(기본 스펙) 1. 이슈 목록 보기 • 1.1 이슈 담당자 • 1.2 open/close 상태 구분 • 1.3 이슈 제목 • 1.4 시간 • 1.5 이슈 발생시간 • 1.6 코멘트 갯수 • 1.7 라벨 이름 • 1.8 이슈 번호 • 2. 이슈 상세 보기 • 2.1 작성자 정보(프로필(사진) 및 ID) • 2.2 코멘트 정보(날짜, 내용, 코멘트 작성자 정보) • 2.3 이슈 내용 • 2.4 이슈 클로징 정보 • 2.5 마일스톤 정보 • 3. 이슈 검색 • 3.1 전체 이슈 목록 검색 • 3.2 내한테 할당된 이슈 목록 검색 • 3.3 내가 작성한 이슈 목록 검색 • 3.4 마일스톤 검색 • 3.5 내가 언급된 이슈 목록 검색(옵션) • 프로젝트 별 핵심어 추천 서비스 제공 • 1. Crawling • 2. 핵심어 색인 추출 • 3. 핵심 키워드 추천 알고리즘 개발 • 4. 색인 추천 서비스 제공 Project2 Spring, 2014; Spec