SlideShare a Scribd company logo
1 of 8
Download to read offline
2018 평창 올림픽 기념 소프트웨어 공모전
결과 보고서
□ 참가팀 개요
구 분 세부내용
팀 명 ATTO 총 인원 ( 6 명)
팀 구 성 성명 소속 부서/학과 직위/학년 연락처(Mobile)
팀 장 이가인 상명대학교 컴퓨터과학 4학년 010-2417-1017
참가
지원
부문 gfedcb 학생 gfedc 일반
분야
gfedc IoT gfedc AR(증강현실) gfedc VR(가상현실) gfedcb 엔터테인먼트
gfedc앱 gfedcb 서비스SW gfedc 기타SW gfedc
팀원
· 강유정 : 건국대학교 / 4학년 / 커뮤니케이션디자인학과
· 김만기 : 성공회대학교 / 4학년 / 소프트웨어공학과
· 전한경 : 상명대학교 / 4학년 / 컴퓨터과학과
· 정준영 : 경희대학교 / 4학년 / 전자공학, 컴퓨터공학
· 최진주 : 명지대학교 / 4학년 / 컴퓨터공학과
□ 참가팀 활동 사진
4월부터 6월 3주차까지 주 1회 강남역 슈퍼스타트(스터디룸)에서 모임을 가졌고, 프로젝트 기획과 아이디어
구체화가 된 시점인 7월부터는 팀별(디자인, 개발) 자율모임, 화상회의를 통해 프로젝트를 발전시켰습니다.
모임시 활동증명을 위한 사진은 남기지 않아 사진의 성격이 다소 다를 수 있는 점 참고부탁드립니다.
- 2 -
□ 참가팀 활동 사진(계속)
* 아이디어 구체화 과정
* 스터디 후 인증(좌상), 프로젝트 모임(좌하), 자체 해커톤(우)
- 3 -
출품작명
놀자 Nolza, Activity Curation Service
당신의 시간을 한국의 문화로 채워보세요.
등록 URL
Github에서 소스코드 공유 중
( 혼선을 줄이고 현황을 공유하기 위해 플랫폼별로 나누어서 관리)
서버 https://github.com/NolzaProject/Nolza_Server
대시보드 https://github.com/NolzaProject/Nolza_dashboard
IOS https://github.com/NolzaProject/Nolza_iOS
안드로이드 https://github.com/NolzaProject/Nolza_android(진행중)
출품작 소개
(요약)
올림픽 관람 외의 남는 시간들을 의미있게 보낼 수 있도록, 짧은 호흡이지만
한국문화를 경험할 수 있는 컨텐츠를 제공하여 올림픽의 감동이외에도 한국에
서의 특별한 경험을 선사하고자 한다.
평창 방문객들의 주된 목적은 올림픽 관람이다. 때문에, 방문객들의 주요 일정
은 정해져 있을 것이다. 경기 이외의 시간까지 계획하기 어려울 뿐만 아니라,
촘촘하게 계획했더라도 예측 못한 일들로 인해(기상, 교통수단 놓침, 개인적인
문제 발생, 사고 등) 일정이 차질을 빚을 수 있다. 방문할 곳이 많고, 놀 수 있
는 컨텐츠가 많은 서울이 아닌 강원도 평창에서 진행되기 때문에 정보가 부족
하고, 즉흥적인 일정변경이 어려울 수밖에 없다. 방문객들의 남는 시간을 한국
의 특성과 문화로 채워줄 수 있도록 호흡이 짧은 컨텐츠들을 제공하여, 올림픽
의 감동 이외에도 한국에서의 특별한 경험을 가져갈 수 있도록 하고자 한다.
많은 여행코스를 준비해놓았으니 능동적으로 찾아가길 바라는 사용자경험이 아
닌 오후 5시 이후에 즐길 수 있는 3가지 컨텐츠를 ‘근거리 방문장소 소개(혹은
미션) → 저녁식사 → 밤 놀거리‘ 라는 맥락으로 구성하여 제공한다. 뿐만 아니
라 소요시간을 고려하여 틈틈이 한국문화를 경험할 수 있고, 언제든지 관심있는
컨텐츠를 선택하여 체험할 수 있도록 카테고리별 리스트를 제공한다.
작품 세부 내용
1. 개발배경 및 목적
올림픽이라는 전 세계인의 축제는 유수 다국적 기업들과 한국의 글로벌 기업들이 역량을 뽐내고 알
릴 수 있는 절호의 기회이다. 새로운 기술과 경험을 통해 고객을 사로잡고 싶어 하는 그들처럼, 대한
민국 또한 KOREA라는 글자를 방문객들의 가슴깊이 새기고 싶어 할 것이다. 이런 취지로 개최된 평
창올림픽 SW 공모전에서 우리가 기여할 수 있는 바는 무엇일까라는 질문에서 아이디어를 구상하게
되었다.
평창올림픽에서 중점을 두고 있는 VR, UHD, 5G, IoT, AI 등의 기술기반 요소들과 물리적 제품들에
기반한 하드웨어 측면의 아이디어를 대학생이 중심인 팀이 구현하기는 쉽지 않다고 판단했고, 우리가
잘 할 수 있는 것을 구현해보고자 한다. 상기한 아이디어를 기업에서 구현할 수도 있을 것이다. 하지
□ 출품작 결과 보고서
- 4 -
만, 기업에서 바라보기 힘든 우리들의 관점에서 상세정보(micro information)를 수집할 수 있고 외국
인들과 교감할 수 있을 것이라 생각한다. 기업들은 가지고 있는 수많은 정보를 하나의 서비스에 모두
담으려 한다. 우리는 기업이 쉽게 할 수 없는 일을 실행할 수 있다. 최소한의 정보를 통해 가벼운 서
비스, 정말 필요한 서비스를 구현하고자 한다.
팀의 주관적인 의견일 수 있으나, 회의를 통해 팀원들은 여행 일정을 모두 책임지는 패키지여행 보
다는 여유를 즐기거나, 시간에 구애받지 않는 자유여행을 선호하였으며, 해외여행시 예측할 수 없는
문제들로 인해 일정에 차질을 빚고, 어떻게 시간을 보내야 할지 모르는 경우를 많이 접했던 경험이
있었던 것을 확인 할 수 있었다. 외국 관광객들 또한 같은 문제를 경험할 것이라고 판단하였고, 관광
객들의 시간들을 한국문화로 채워주면 좋겠다고 생각했다.
하지만 두 가지 문제점들이 있었다. 첫 번째로는 한국의 정체성이다. 휴전 이후 빈민국에서 급격한
성장을 이룬 우리나라의 국가 브랜딩은 진행 중이다. 국민들이 생각하는 각각의 모습이 있지만, 한국
을 대표하고 설명하기란 어렵다. 외국인들이 바라보는 한국문화는 더욱 어려울 것이다. 한국의 정체성
은 자리를 잡아가는 중이기 때문에, 긴 시간동안 유기적인 경험을 제공하는 것이 어렵다. 또다른 하나
는 언어 난이도이다. 영어권 국가들의 경우 비슷한 단어를 통해 의미를 유추해 볼 수 있는 반면 비영
어권인 아시아 국가들은 번역이 매우 어렵다. 한국은 세계적으로 언어 난이도가 높은 한글을 사용하고
있고, 사용인구가 적어서 가공된 여행정보가 많지 않다. 관광지가 적을뿐더러, 적은 관광지를 소개하는
정보도 적다.
물리적 기반이(장소, 특산물 등) 약한 것은 사실이지만 우리문화가 없는 것은 아니다. 빠른 인터넷
(인터넷 속도, 배달문화), 실내시설(편의점, 숙박, PC방, 찜질방, 테마파크, 몰), 교통(지하철, 버스),
엔터테인먼트(K-pop, BJ, 먹방) 등 한국이 만들어가는 컨텐츠들이 있다. 한국의 색채가 강한 짧은 호
흡의 컨텐츠들을 활용하여 올림픽 관람 이후의 애매하게 남는 시간을 즐겁게 만들고자 한다.
평창 방문의 목적은 올림픽 관람일 것이다. 그들의 일정은 대부분 정해져 있을 것이지만, 남은 시간
들을 어떻게 즐겁게 보낼지에 대한 고민할 것이다. 그들의 시간을 즐겁고 특별한 한국문화로 채워준
다면, 평창에서의 경험을 소중하게 간직할 것이고, 나아가 한국은 다시 한 번 방문해보고 싶은 나라
일 것이다.
2. 개발환경 및 개발언어
‘Nolza’는 사용자가 사용하는 Application과 사용자의 미션을 인증하는 Dashboard, 두 서비스를
사용하기 위한 Server로 구성되어 있다. 각 구성요소의 개발환경과 언어는 다음과 같다.
- Server
분류 버전
개발환경
Cloud Computer AWS EC2(CentOS) 7.3.1611
Cloud Storage AWS S3 -
IDE IntelliJ 2016.3.6
Proxy Server Ngnix 1.12.1
Database MySQL 5.6.37
Build Tool Gradle 3.2.1
개발언어
Spring Boot 1.5.4
Spring Boot Security 5.0.0
- 5 -
- Dashboard
분류 버전
개발환경
Cloud Computer AWS EC2(CentOS) 7.3.1611
IDE Webstorm 2016.3.2
Package Manager NPM e5.3.0
Module Bundler Webpack 2.2.1
Javascript Linter ESLint 3.19.0
Test Runner Karma 1.4.1
개발언어
Vue.js 2.0
vue-router 2.0
Axios 0.16.2
Bootstrap 3.3.7
테스트환경
Chrome 60+
Internet Explorer 9+
Firefox 54+
Safari 10+
- Application
Android iOS
커널 버전 5.0(Lolipop) 이상 10 이상
개발환경 Android Studio (v2.3.0) Xcode (v8.3.3)
개발언어 Kotlin (v1.1.3) Swift4
3. 시스템 구성 및 아키텍처
[그림 1] Nolza System Architecture
- 6 -
3.1 Server
Server는 AWS(Amazon Web Service; 아마존 웹 서비스)의 클라우드 컴퓨팅 서비스인 EC2에서
동작한다. 웹 서버로 Ngnix를 사용하여 Proxy 관리를 하며, Spring Boot 프레임워크를 사용하여 기
능을 수행한다. Server가 수행하는 기능으로는 크게 Controller, Service, Repository, Security가 있
으며 사용자가 Application을 통해 요청한 이벤트의 처리를 담당한다. 또한 Database 테이블에 데
이터를 저장 및 조회하여 Dashboard에게 전달하는 기능을 수행하고, 사용자로부터 사진을 전송받
으면 AWS의 클라우드 스토리지인 S3에 저장한다. 저장된 사진의 URL은 Database 테이블에 저장
하여 Dashboard 및 Application에서 사용할 수 있도록 한다.
3.3 Dashboard
Dashboard는 관리자 페이지로서, AWS EC2에서 Node.js 웹 엔진을 통해 동작한다. Dashboard는
관리자 로그인, 미션 등록, 미션 인증, 카테고리 설정의 기능을 수행한다. 이를 위해 Server 및
Database와 Axios 모듈을 통해 ajax 통신을 하고 각 페이지는 Vue.js를 사용하여 렌더링 된다. 이
런 기능은 Vue.js의 Component 디렉토리 내의 코드를 통해 가능하다. 또한 각 페이지의 연결은
vue-router 모듈을 사용하였다.
3.3 Application
Application은 사용자의 디바이스(Smartphone)에서 설치 및 실행된다. 사용자가 사용하게 될 인
터페이스는 View 블록에서 정의되며, 각 기능은 Model이 담당한다. Controller는 View와 Model을
연결하는 역할을 수행한다. 내장 Database는 디바이스가 오프라인 상태에서도 온라인 상태와 동일
하게 동작시켜, Usability(사용성)를 높일 수 있다.
3.4 Database
DBMS(Database Management System)로 MySQL을 사용하였으며, ‘Nolza’ Database 내부에는 6
가지의 테이블이 존재한다. 각 테이블의 상관관계는 다음과 같다.
[그림 2] Nolza Database의 ER Diagram
- 7 -
4. 프로젝트 주요기능
* 사용자 관점에서의 기능 / 서비스 중심
언어 설정
Google 번역 API를 활용, 사용자가 선택한 각 나라 언어로 표기
* 한국어, 영어, 중국어, 일본어, 독일어, 러시아어, 노르웨이어 / 동계올림픽 메달 순
미션
- 관련된 3가지 미션을 묶어서 테마로 제공
‧ ‘강원도에서의 안식’ 테마 : 월정사 방문 → 양떼목장 방문 → 삼겹살 맛집
‧ ‘휴식’ 테마 : 경포대 → 안목 카페거리 → 불고기 맛집
- 미션을 키워드로 검색할 수 있으며, 카테고리별로 찾아볼 수 있음
- 선택한 미션에 대한 상세정보 제공
‧ 미션정보(설명, 카테고리, 키워드, 사진), 위치, 미션 소요시간
미션 수행,
눈 공유
사용자는 수행한 미션 사진을 찍어 업로드 할 수 있으며,
완료한 미션을 SNS에 공유할 수 있다.
리워드 완료한 미션들에 대한 후원 기업 리워드를 획득할 수 있다.
미션 추가 관리자는 사용자에게 제공하는 미션을 쉽게 추가할 수 있다.
미션 인증 관리자가 대시보드를 통해 미션을 확인하고 리워드 지급이 가능
* SW 관점에서의 기능 / 기술중심
회원가입 이메일(ID), 국가, 닉네임, 비밀번호, 체류기간 정보확인
로그인
자체 로그인 : 회원가입을 통해 받은 사용자 정보를 통해 로그인
Third Party 로그인 : 페이스북, 구글 OAuth API를 사용한 로그인
최초 로그인 후 자동 로그인 : 사용자의 정보를 토큰으로 만들어 사용
미션 제공
(테마별, 개별)
키워드 검색, 카테고리별 분류
두가지 미션선택 방식
- 키워드 입력으로 미션을 검색하고 선택
- Application에서 제공하는 카테고리 내에서의 미션을 선택
선택한 미션에 대한 상세정보 제공
미션정보(설명, 카테고리, 키워드, 사진), 위치, 각 국가별 참여자 수, 미션 소요시간
미션 추가
관리자는 사용자에게 제공하는 미션을 쉽게 추가할 수 있다.
- 각 기능별로 구분하여 모듈 개발
미션 수행
사용자는 수행한 미션의 사진을 찍어 업로드 한다.
- 'Nolza' Application 내부에서 스마트폰 카메라 기능을 실행하여 촬영이 가능하다.
- 스마트폰 앨범 Application에서 사진을 가져와 업로드가 가능하다.
미션 인증
사용자가 수행한 미션을 업로드 하면, 관리자가 서버에서 확인 후 미션 인증을 해준다.
인증이 완료 된 후 보상 내역은 ‘사용자 페이지 - 리워드’ 탭에서 확인 가능하다
미션 완료 후
공유
사용자는 완료한 미션을 SNS에 공유할 수 있다.
- Facebook Share API를 활용
언어 설정 기능
Google 번역 API를 활용, 사용자가 선택한 각 나라 언어로 표기될 수 있게 함
사용자 스마트폰의 언어설정에 의존하여, Application의 언어가 표기될 수 있다.
- Google Translate API를 활용
- 8 -
5. 기대효과 및 활용분야
‧ 한국문화의 경험
독특하고도 새롭게 형성되고 있는 우리나라의 문화들을 즐겁게 경험 할 수 있다.
‧ 올림픽을 더욱 풍요롭게
올림픽 관람일정 이외의 다른 시간을 채워주어, 한국에서의 경험을 풍요롭게 한다.
‧ 컨텐츠 생산성
관광객이 체류하는 수일을 책임지는 것이 아닌, 시간 단위의 활동을 제안하는 것이기 때문에,
컨텐츠 생산에 대한 부담이 적으며, 제작시간이 짧아 트렌드 반영이 용이하다.
‧ 컨텐츠 다양성
사용자(관광객)의 기호, 성향에 따라서 컨텐츠를 선택하고 경험할 수 있다.
‧ 확장가능성
평창올림픽 이외에 다른 국가차원의 행사에서도 사용할 수 있는 서비스이다.
행사가 없더라도 우리나라를 방문하는 관광객들의 남은 시간을 채워줄 수 있다.
‧ 기업과의 연계 용이
관광객이 필요한 시간과 원하는 컨텐츠를 선택하기 때문에 고객 니즈가 명확하여,
이를 타겟팅한 브랜드 경험 제공, 제품 홍보가 가능하다.
6. 기타(출품작에 대한 추가 설명 및 PT 자료 등 첨부 가능)
※ 최종발표 PPT 메일에 별첨

More Related Content

Similar to [2018 평창올림픽 기념 SW 공모전] Nolza 보고서

[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가smartstudy_official
 
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)AppCenter
 
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘퍼지 전문가 시스템을 이용한 상품 추천 알고리즘
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘Jong MIn Yu
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
안드로이드 최종 발표자료.pdf
안드로이드 최종 발표자료.pdf안드로이드 최종 발표자료.pdf
안드로이드 최종 발표자료.pdfGwangho Kim
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오민완 진
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Bansook Nam
 
종합 포트폴리오
종합 포트폴리오종합 포트폴리오
종합 포트폴리오hogyun yu
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오민완 진
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오민완 진
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
12 1 인셉션modification
12 1 인셉션modification12 1 인셉션modification
12 1 인셉션modificationtikasy
 
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료BumSoo Kim
 
Itsm팀 내부세미나 사용자스토리_정희찬
Itsm팀 내부세미나 사용자스토리_정희찬Itsm팀 내부세미나 사용자스토리_정희찬
Itsm팀 내부세미나 사용자스토리_정희찬정 희찬
 
산학 제출 PPT
산학 제출 PPT산학 제출 PPT
산학 제출 PPT21HG020
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요Nohyun Kee
 
부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)CONNECT FOUNDATION
 

Similar to [2018 평창올림픽 기념 SW 공모전] Nolza 보고서 (20)

[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)
2016년 앱센터 소개브로셔 (AppCenter 2016 Brochure)
 
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘퍼지 전문가 시스템을 이용한 상품 추천 알고리즘
퍼지 전문가 시스템을 이용한 상품 추천 알고리즘
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
안드로이드 최종 발표자료.pdf
안드로이드 최종 발표자료.pdf안드로이드 최종 발표자료.pdf
안드로이드 최종 발표자료.pdf
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
 
종합 포트폴리오
종합 포트폴리오종합 포트폴리오
종합 포트폴리오
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
조재완
조재완조재완
조재완
 
12 1 인셉션modification
12 1 인셉션modification12 1 인셉션modification
12 1 인셉션modification
 
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
 
Itsm팀 내부세미나 사용자스토리_정희찬
Itsm팀 내부세미나 사용자스토리_정희찬Itsm팀 내부세미나 사용자스토리_정희찬
Itsm팀 내부세미나 사용자스토리_정희찬
 
산학 제출 PPT
산학 제출 PPT산학 제출 PPT
산학 제출 PPT
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요
 
Parallel diary
Parallel diaryParallel diary
Parallel diary
 
부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
유니티,Unity 엔진을 활용한 VR/AR 콘텐츠 개발 _사물인터넷(IoT) 네크워크 프로그래밍
유니티,Unity 엔진을 활용한 VR/AR 콘텐츠 개발 _사물인터넷(IoT) 네크워크 프로그래밍유니티,Unity 엔진을 활용한 VR/AR 콘텐츠 개발 _사물인터넷(IoT) 네크워크 프로그래밍
유니티,Unity 엔진을 활용한 VR/AR 콘텐츠 개발 _사물인터넷(IoT) 네크워크 프로그래밍
 

More from Junyoung Jung

[KCC oral] 정준영
[KCC oral] 정준영[KCC oral] 정준영
[KCC oral] 정준영Junyoung Jung
 
전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기Junyoung Jung
 
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation serviceJunyoung Jung
 
SCC (Security Control Center)
SCC (Security Control Center)SCC (Security Control Center)
SCC (Security Control Center)Junyoung Jung
 
sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)Junyoung Jung
 
Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기Junyoung Jung
 
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스Junyoung Jung
 
[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템Junyoung Jung
 
[우아주, 7월] 정준영
[우아주, 7월] 정준영[우아주, 7월] 정준영
[우아주, 7월] 정준영Junyoung Jung
 
[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기Junyoung Jung
 
[Kcc poster] 정준영
[Kcc poster] 정준영[Kcc poster] 정준영
[Kcc poster] 정준영Junyoung Jung
 
[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기Junyoung Jung
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영Junyoung Jung
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료Junyoung Jung
 
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_pptJunyoung Jung
 
[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpotJunyoung Jung
 
[2015전자과공모전] ppt
[2015전자과공모전] ppt[2015전자과공모전] ppt
[2015전자과공모전] pptJunyoung Jung
 

More from Junyoung Jung (20)

[KCC oral] 정준영
[KCC oral] 정준영[KCC oral] 정준영
[KCC oral] 정준영
 
전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기
 
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
 
SCC (Security Control Center)
SCC (Security Control Center)SCC (Security Control Center)
SCC (Security Control Center)
 
Google File System
Google File SystemGoogle File System
Google File System
 
sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)
 
Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기
 
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
 
[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템
 
[우아주, 7월] 정준영
[우아주, 7월] 정준영[우아주, 7월] 정준영
[우아주, 7월] 정준영
 
[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기
 
[Kcc poster] 정준영
[Kcc poster] 정준영[Kcc poster] 정준영
[Kcc poster] 정준영
 
[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
 
[Maybee] inSpot
[Maybee] inSpot[Maybee] inSpot
[Maybee] inSpot
 
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
 
[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot
 
[2015전자과공모전] ppt
[2015전자과공모전] ppt[2015전자과공모전] ppt
[2015전자과공모전] ppt
 
[C++]6 function2
[C++]6 function2[C++]6 function2
[C++]6 function2
 

[2018 평창올림픽 기념 SW 공모전] Nolza 보고서

  • 1. 2018 평창 올림픽 기념 소프트웨어 공모전 결과 보고서 □ 참가팀 개요 구 분 세부내용 팀 명 ATTO 총 인원 ( 6 명) 팀 구 성 성명 소속 부서/학과 직위/학년 연락처(Mobile) 팀 장 이가인 상명대학교 컴퓨터과학 4학년 010-2417-1017 참가 지원 부문 gfedcb 학생 gfedc 일반 분야 gfedc IoT gfedc AR(증강현실) gfedc VR(가상현실) gfedcb 엔터테인먼트 gfedc앱 gfedcb 서비스SW gfedc 기타SW gfedc 팀원 · 강유정 : 건국대학교 / 4학년 / 커뮤니케이션디자인학과 · 김만기 : 성공회대학교 / 4학년 / 소프트웨어공학과 · 전한경 : 상명대학교 / 4학년 / 컴퓨터과학과 · 정준영 : 경희대학교 / 4학년 / 전자공학, 컴퓨터공학 · 최진주 : 명지대학교 / 4학년 / 컴퓨터공학과 □ 참가팀 활동 사진 4월부터 6월 3주차까지 주 1회 강남역 슈퍼스타트(스터디룸)에서 모임을 가졌고, 프로젝트 기획과 아이디어 구체화가 된 시점인 7월부터는 팀별(디자인, 개발) 자율모임, 화상회의를 통해 프로젝트를 발전시켰습니다. 모임시 활동증명을 위한 사진은 남기지 않아 사진의 성격이 다소 다를 수 있는 점 참고부탁드립니다.
  • 2. - 2 - □ 참가팀 활동 사진(계속) * 아이디어 구체화 과정 * 스터디 후 인증(좌상), 프로젝트 모임(좌하), 자체 해커톤(우)
  • 3. - 3 - 출품작명 놀자 Nolza, Activity Curation Service 당신의 시간을 한국의 문화로 채워보세요. 등록 URL Github에서 소스코드 공유 중 ( 혼선을 줄이고 현황을 공유하기 위해 플랫폼별로 나누어서 관리) 서버 https://github.com/NolzaProject/Nolza_Server 대시보드 https://github.com/NolzaProject/Nolza_dashboard IOS https://github.com/NolzaProject/Nolza_iOS 안드로이드 https://github.com/NolzaProject/Nolza_android(진행중) 출품작 소개 (요약) 올림픽 관람 외의 남는 시간들을 의미있게 보낼 수 있도록, 짧은 호흡이지만 한국문화를 경험할 수 있는 컨텐츠를 제공하여 올림픽의 감동이외에도 한국에 서의 특별한 경험을 선사하고자 한다. 평창 방문객들의 주된 목적은 올림픽 관람이다. 때문에, 방문객들의 주요 일정 은 정해져 있을 것이다. 경기 이외의 시간까지 계획하기 어려울 뿐만 아니라, 촘촘하게 계획했더라도 예측 못한 일들로 인해(기상, 교통수단 놓침, 개인적인 문제 발생, 사고 등) 일정이 차질을 빚을 수 있다. 방문할 곳이 많고, 놀 수 있 는 컨텐츠가 많은 서울이 아닌 강원도 평창에서 진행되기 때문에 정보가 부족 하고, 즉흥적인 일정변경이 어려울 수밖에 없다. 방문객들의 남는 시간을 한국 의 특성과 문화로 채워줄 수 있도록 호흡이 짧은 컨텐츠들을 제공하여, 올림픽 의 감동 이외에도 한국에서의 특별한 경험을 가져갈 수 있도록 하고자 한다. 많은 여행코스를 준비해놓았으니 능동적으로 찾아가길 바라는 사용자경험이 아 닌 오후 5시 이후에 즐길 수 있는 3가지 컨텐츠를 ‘근거리 방문장소 소개(혹은 미션) → 저녁식사 → 밤 놀거리‘ 라는 맥락으로 구성하여 제공한다. 뿐만 아니 라 소요시간을 고려하여 틈틈이 한국문화를 경험할 수 있고, 언제든지 관심있는 컨텐츠를 선택하여 체험할 수 있도록 카테고리별 리스트를 제공한다. 작품 세부 내용 1. 개발배경 및 목적 올림픽이라는 전 세계인의 축제는 유수 다국적 기업들과 한국의 글로벌 기업들이 역량을 뽐내고 알 릴 수 있는 절호의 기회이다. 새로운 기술과 경험을 통해 고객을 사로잡고 싶어 하는 그들처럼, 대한 민국 또한 KOREA라는 글자를 방문객들의 가슴깊이 새기고 싶어 할 것이다. 이런 취지로 개최된 평 창올림픽 SW 공모전에서 우리가 기여할 수 있는 바는 무엇일까라는 질문에서 아이디어를 구상하게 되었다. 평창올림픽에서 중점을 두고 있는 VR, UHD, 5G, IoT, AI 등의 기술기반 요소들과 물리적 제품들에 기반한 하드웨어 측면의 아이디어를 대학생이 중심인 팀이 구현하기는 쉽지 않다고 판단했고, 우리가 잘 할 수 있는 것을 구현해보고자 한다. 상기한 아이디어를 기업에서 구현할 수도 있을 것이다. 하지 □ 출품작 결과 보고서
  • 4. - 4 - 만, 기업에서 바라보기 힘든 우리들의 관점에서 상세정보(micro information)를 수집할 수 있고 외국 인들과 교감할 수 있을 것이라 생각한다. 기업들은 가지고 있는 수많은 정보를 하나의 서비스에 모두 담으려 한다. 우리는 기업이 쉽게 할 수 없는 일을 실행할 수 있다. 최소한의 정보를 통해 가벼운 서 비스, 정말 필요한 서비스를 구현하고자 한다. 팀의 주관적인 의견일 수 있으나, 회의를 통해 팀원들은 여행 일정을 모두 책임지는 패키지여행 보 다는 여유를 즐기거나, 시간에 구애받지 않는 자유여행을 선호하였으며, 해외여행시 예측할 수 없는 문제들로 인해 일정에 차질을 빚고, 어떻게 시간을 보내야 할지 모르는 경우를 많이 접했던 경험이 있었던 것을 확인 할 수 있었다. 외국 관광객들 또한 같은 문제를 경험할 것이라고 판단하였고, 관광 객들의 시간들을 한국문화로 채워주면 좋겠다고 생각했다. 하지만 두 가지 문제점들이 있었다. 첫 번째로는 한국의 정체성이다. 휴전 이후 빈민국에서 급격한 성장을 이룬 우리나라의 국가 브랜딩은 진행 중이다. 국민들이 생각하는 각각의 모습이 있지만, 한국 을 대표하고 설명하기란 어렵다. 외국인들이 바라보는 한국문화는 더욱 어려울 것이다. 한국의 정체성 은 자리를 잡아가는 중이기 때문에, 긴 시간동안 유기적인 경험을 제공하는 것이 어렵다. 또다른 하나 는 언어 난이도이다. 영어권 국가들의 경우 비슷한 단어를 통해 의미를 유추해 볼 수 있는 반면 비영 어권인 아시아 국가들은 번역이 매우 어렵다. 한국은 세계적으로 언어 난이도가 높은 한글을 사용하고 있고, 사용인구가 적어서 가공된 여행정보가 많지 않다. 관광지가 적을뿐더러, 적은 관광지를 소개하는 정보도 적다. 물리적 기반이(장소, 특산물 등) 약한 것은 사실이지만 우리문화가 없는 것은 아니다. 빠른 인터넷 (인터넷 속도, 배달문화), 실내시설(편의점, 숙박, PC방, 찜질방, 테마파크, 몰), 교통(지하철, 버스), 엔터테인먼트(K-pop, BJ, 먹방) 등 한국이 만들어가는 컨텐츠들이 있다. 한국의 색채가 강한 짧은 호 흡의 컨텐츠들을 활용하여 올림픽 관람 이후의 애매하게 남는 시간을 즐겁게 만들고자 한다. 평창 방문의 목적은 올림픽 관람일 것이다. 그들의 일정은 대부분 정해져 있을 것이지만, 남은 시간 들을 어떻게 즐겁게 보낼지에 대한 고민할 것이다. 그들의 시간을 즐겁고 특별한 한국문화로 채워준 다면, 평창에서의 경험을 소중하게 간직할 것이고, 나아가 한국은 다시 한 번 방문해보고 싶은 나라 일 것이다. 2. 개발환경 및 개발언어 ‘Nolza’는 사용자가 사용하는 Application과 사용자의 미션을 인증하는 Dashboard, 두 서비스를 사용하기 위한 Server로 구성되어 있다. 각 구성요소의 개발환경과 언어는 다음과 같다. - Server 분류 버전 개발환경 Cloud Computer AWS EC2(CentOS) 7.3.1611 Cloud Storage AWS S3 - IDE IntelliJ 2016.3.6 Proxy Server Ngnix 1.12.1 Database MySQL 5.6.37 Build Tool Gradle 3.2.1 개발언어 Spring Boot 1.5.4 Spring Boot Security 5.0.0
  • 5. - 5 - - Dashboard 분류 버전 개발환경 Cloud Computer AWS EC2(CentOS) 7.3.1611 IDE Webstorm 2016.3.2 Package Manager NPM e5.3.0 Module Bundler Webpack 2.2.1 Javascript Linter ESLint 3.19.0 Test Runner Karma 1.4.1 개발언어 Vue.js 2.0 vue-router 2.0 Axios 0.16.2 Bootstrap 3.3.7 테스트환경 Chrome 60+ Internet Explorer 9+ Firefox 54+ Safari 10+ - Application Android iOS 커널 버전 5.0(Lolipop) 이상 10 이상 개발환경 Android Studio (v2.3.0) Xcode (v8.3.3) 개발언어 Kotlin (v1.1.3) Swift4 3. 시스템 구성 및 아키텍처 [그림 1] Nolza System Architecture
  • 6. - 6 - 3.1 Server Server는 AWS(Amazon Web Service; 아마존 웹 서비스)의 클라우드 컴퓨팅 서비스인 EC2에서 동작한다. 웹 서버로 Ngnix를 사용하여 Proxy 관리를 하며, Spring Boot 프레임워크를 사용하여 기 능을 수행한다. Server가 수행하는 기능으로는 크게 Controller, Service, Repository, Security가 있 으며 사용자가 Application을 통해 요청한 이벤트의 처리를 담당한다. 또한 Database 테이블에 데 이터를 저장 및 조회하여 Dashboard에게 전달하는 기능을 수행하고, 사용자로부터 사진을 전송받 으면 AWS의 클라우드 스토리지인 S3에 저장한다. 저장된 사진의 URL은 Database 테이블에 저장 하여 Dashboard 및 Application에서 사용할 수 있도록 한다. 3.3 Dashboard Dashboard는 관리자 페이지로서, AWS EC2에서 Node.js 웹 엔진을 통해 동작한다. Dashboard는 관리자 로그인, 미션 등록, 미션 인증, 카테고리 설정의 기능을 수행한다. 이를 위해 Server 및 Database와 Axios 모듈을 통해 ajax 통신을 하고 각 페이지는 Vue.js를 사용하여 렌더링 된다. 이 런 기능은 Vue.js의 Component 디렉토리 내의 코드를 통해 가능하다. 또한 각 페이지의 연결은 vue-router 모듈을 사용하였다. 3.3 Application Application은 사용자의 디바이스(Smartphone)에서 설치 및 실행된다. 사용자가 사용하게 될 인 터페이스는 View 블록에서 정의되며, 각 기능은 Model이 담당한다. Controller는 View와 Model을 연결하는 역할을 수행한다. 내장 Database는 디바이스가 오프라인 상태에서도 온라인 상태와 동일 하게 동작시켜, Usability(사용성)를 높일 수 있다. 3.4 Database DBMS(Database Management System)로 MySQL을 사용하였으며, ‘Nolza’ Database 내부에는 6 가지의 테이블이 존재한다. 각 테이블의 상관관계는 다음과 같다. [그림 2] Nolza Database의 ER Diagram
  • 7. - 7 - 4. 프로젝트 주요기능 * 사용자 관점에서의 기능 / 서비스 중심 언어 설정 Google 번역 API를 활용, 사용자가 선택한 각 나라 언어로 표기 * 한국어, 영어, 중국어, 일본어, 독일어, 러시아어, 노르웨이어 / 동계올림픽 메달 순 미션 - 관련된 3가지 미션을 묶어서 테마로 제공 ‧ ‘강원도에서의 안식’ 테마 : 월정사 방문 → 양떼목장 방문 → 삼겹살 맛집 ‧ ‘휴식’ 테마 : 경포대 → 안목 카페거리 → 불고기 맛집 - 미션을 키워드로 검색할 수 있으며, 카테고리별로 찾아볼 수 있음 - 선택한 미션에 대한 상세정보 제공 ‧ 미션정보(설명, 카테고리, 키워드, 사진), 위치, 미션 소요시간 미션 수행, 눈 공유 사용자는 수행한 미션 사진을 찍어 업로드 할 수 있으며, 완료한 미션을 SNS에 공유할 수 있다. 리워드 완료한 미션들에 대한 후원 기업 리워드를 획득할 수 있다. 미션 추가 관리자는 사용자에게 제공하는 미션을 쉽게 추가할 수 있다. 미션 인증 관리자가 대시보드를 통해 미션을 확인하고 리워드 지급이 가능 * SW 관점에서의 기능 / 기술중심 회원가입 이메일(ID), 국가, 닉네임, 비밀번호, 체류기간 정보확인 로그인 자체 로그인 : 회원가입을 통해 받은 사용자 정보를 통해 로그인 Third Party 로그인 : 페이스북, 구글 OAuth API를 사용한 로그인 최초 로그인 후 자동 로그인 : 사용자의 정보를 토큰으로 만들어 사용 미션 제공 (테마별, 개별) 키워드 검색, 카테고리별 분류 두가지 미션선택 방식 - 키워드 입력으로 미션을 검색하고 선택 - Application에서 제공하는 카테고리 내에서의 미션을 선택 선택한 미션에 대한 상세정보 제공 미션정보(설명, 카테고리, 키워드, 사진), 위치, 각 국가별 참여자 수, 미션 소요시간 미션 추가 관리자는 사용자에게 제공하는 미션을 쉽게 추가할 수 있다. - 각 기능별로 구분하여 모듈 개발 미션 수행 사용자는 수행한 미션의 사진을 찍어 업로드 한다. - 'Nolza' Application 내부에서 스마트폰 카메라 기능을 실행하여 촬영이 가능하다. - 스마트폰 앨범 Application에서 사진을 가져와 업로드가 가능하다. 미션 인증 사용자가 수행한 미션을 업로드 하면, 관리자가 서버에서 확인 후 미션 인증을 해준다. 인증이 완료 된 후 보상 내역은 ‘사용자 페이지 - 리워드’ 탭에서 확인 가능하다 미션 완료 후 공유 사용자는 완료한 미션을 SNS에 공유할 수 있다. - Facebook Share API를 활용 언어 설정 기능 Google 번역 API를 활용, 사용자가 선택한 각 나라 언어로 표기될 수 있게 함 사용자 스마트폰의 언어설정에 의존하여, Application의 언어가 표기될 수 있다. - Google Translate API를 활용
  • 8. - 8 - 5. 기대효과 및 활용분야 ‧ 한국문화의 경험 독특하고도 새롭게 형성되고 있는 우리나라의 문화들을 즐겁게 경험 할 수 있다. ‧ 올림픽을 더욱 풍요롭게 올림픽 관람일정 이외의 다른 시간을 채워주어, 한국에서의 경험을 풍요롭게 한다. ‧ 컨텐츠 생산성 관광객이 체류하는 수일을 책임지는 것이 아닌, 시간 단위의 활동을 제안하는 것이기 때문에, 컨텐츠 생산에 대한 부담이 적으며, 제작시간이 짧아 트렌드 반영이 용이하다. ‧ 컨텐츠 다양성 사용자(관광객)의 기호, 성향에 따라서 컨텐츠를 선택하고 경험할 수 있다. ‧ 확장가능성 평창올림픽 이외에 다른 국가차원의 행사에서도 사용할 수 있는 서비스이다. 행사가 없더라도 우리나라를 방문하는 관광객들의 남은 시간을 채워줄 수 있다. ‧ 기업과의 연계 용이 관광객이 필요한 시간과 원하는 컨텐츠를 선택하기 때문에 고객 니즈가 명확하여, 이를 타겟팅한 브랜드 경험 제공, 제품 홍보가 가능하다. 6. 기타(출품작에 대한 추가 설명 및 PT 자료 등 첨부 가능) ※ 최종발표 PPT 메일에 별첨