SlideShare a Scribd company logo
1 of 4
Download to read offline
나눔(Nanum) 프로젝트 설명서
정구범 jgb625@naver.com https://github.com/GubeomJeong
이성온 dltjddhs@gmail.com https://github.com/so3500
프로젝트 개요
프로젝트 명 나눔(Nanum): 개발 프로젝트 관리 웹 서비스
프로젝트 소개 나눔(Nanum)프로젝트는 프로젝트 관리를 지원하는 웹 서비스 입니다.
Nanum은 팀의 구성원들이 효율적으로 프로젝트(소스코드, 이슈)를 관리할 수
있도록 설계되었습니다.
프로젝트 세부 내용
프로젝트의 목적과 핵심기능, 주요 사용자를 말씀해주세요.*
Nanum의 핵심 기능은 개발 프로젝트 관리입니다. 사용자들은 프로젝트 소스를 작성하고, 서버에
결과가 반영됩니다. 프로젝트 팀원들은 실시간으로 프로젝트 소스코드를 수정할 수 있으며, 현재
누가 접속해서 어떤 소스를 수정하고 있는지 알 수 있습니다.
프로젝트를 진행하면서 이슈가 발생할 시 게시판을 통해 이슈를 공유할 수 있습니다.
프로젝트 구조
프로젝트에 사용한 언어, 아키텍쳐 등 전반적인 기술사항에 대해 설명해주세요.*
Front-end
Vue.js 라이브러리를 사용하여 single page application을 구현하였습니다. Vue.js의 vue-router를 사
용하여 하나의 페이지에서 많은 path를 사용할 수 있었습니다. Vue.js에서의 single file component
라는 것을 사용하여 .vue 파일 하나당 하나의 컴포넌트를 만들어 좀 더 유연하게 개발을 할 수
있었습니다. Axios를 이용하여 서버와 ajax통신을 구현하였습니다. ace editor를 사용하여 실시간 코
드 하이라이팅을 구현할 수 있었습니다. 다른 사람들과 실시간으로 코드를 수정할 수 있는 기능
을 구현하기 위해 sockjs와 stompjs를 사용하여 websocket을 통해 서버와 양방향 통신을 하였습
니다. 한 파일을 수정할 때 그 파일을 수정하고 있는 사람들에게 websocket으로 데이터를 전달해
주었습니다. 하나의 프로젝트가 가지고 있는 코드들을 관리하기 위해 파일 구조를 구현하였습니
다.
npm을 사용하여 버전관리와 패키지 관리를 하였으며, webpack을 사용하여 모듈을 효율적으로 관
리 하였습니다.
Back-end
Spring boot를 이용하여 개발을 진행하였습니다. Spring mvc를 사용하여 mvc 디자인 패턴으로 프
로젝트를 개발하였습니다. Database는 mysql을 사용하였습니다. Spring-jpa-data를 사용하여 객
체중심으로 개발을 할 수 있었습니다. Restful 규격에 맞게 api를 구현하도록 노력하였습니다.
Google oauth를 사용하여 좀 더 효율적으로 유저를 관리할 수 있게 하였습니다.
Gradle을 사용하여 빌드를 하였고, swagger를 사용하여 rest api에 문서를 좀 더 손쉽게 확인할 수
있었습니다. Docker를 이용하여 아마존 ec2서비스에 효율적으로 배포를 할 수 있었습니다.
프로젝트 활용분야 및 향후 발전 방향
 프로젝트 빌드 기능 추가
 깃허브와의 연동을 통하여 개발중인 소스코드 공유 활성화
 이슈 관리 기능 추가 주제 관련 tag, 사용자 언급 tag 기능 추가(github 참고)
 알림 기능(프로젝트, 이슈 관련)
 실시간 채팅(음성채팅)
 프로젝트 유저들의 활동 기록을 저장하고 분석하여 의미 있는 자료를 도출

More Related Content

What's hot

Weblockly 결승전 발표자료
Weblockly 결승전 발표자료Weblockly 결승전 발표자료
Weblockly 결승전 발표자료Kay Sung Hyuk
 
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)Ubuntu Korea Community
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012Daum DNA
 
클라우드 서비스와 구글드라이브
클라우드 서비스와 구글드라이브클라우드 서비스와 구글드라이브
클라우드 서비스와 구글드라이브성혁 장
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표Seong Heum Park
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표Seong Heum Park
 
삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기InfraEngineer
 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsKyunghun Jeon
 
Weblockly 소개자료
Weblockly 소개자료Weblockly 소개자료
Weblockly 소개자료Kay Sung Hyuk
 
자바스크립트 개발자가 되기 위한 플랜 강은심
자바스크립트 개발자가 되기 위한  플랜 강은심자바스크립트 개발자가 되기 위한  플랜 강은심
자바스크립트 개발자가 되기 위한 플랜 강은심은심 강
 

What's hot (12)

Weblockly 결승전 발표자료
Weblockly 결승전 발표자료Weblockly 결승전 발표자료
Weblockly 결승전 발표자료
 
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
 
About WebCAT
About WebCATAbout WebCAT
About WebCAT
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012
 
클라우드 서비스와 구글드라이브
클라우드 서비스와 구글드라이브클라우드 서비스와 구글드라이브
클라우드 서비스와 구글드라이브
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표
 
Seuk sak
Seuk sakSeuk sak
Seuk sak
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표
 
삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기
 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build tools
 
Weblockly 소개자료
Weblockly 소개자료Weblockly 소개자료
Weblockly 소개자료
 
자바스크립트 개발자가 되기 위한 플랜 강은심
자바스크립트 개발자가 되기 위한  플랜 강은심자바스크립트 개발자가 되기 위한  플랜 강은심
자바스크립트 개발자가 되기 위한 플랜 강은심
 

Similar to d2_5th_나눔 프로젝트 설명서

Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyunjaeyunjeong1
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a jobDeo Kim
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하GyooHa Kim
 
[Tech meet up] 2018 프론트엔드 트렌드&인사이트
[Tech meet up] 2018 프론트엔드 트렌드&인사이트[Tech meet up] 2018 프론트엔드 트렌드&인사이트
[Tech meet up] 2018 프론트엔드 트렌드&인사이트NAVER D2
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Daum DNA
 
이재훈 개발 포트폴리오.pdf
이재훈 개발 포트폴리오.pdf이재훈 개발 포트폴리오.pdf
이재훈 개발 포트폴리오.pdfjaehoon lee
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서Jeongmin Cha
 
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월월간 IT 슬라이드
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴Ian Choi
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
WeAreDevelopers_micro_frontend_framework.pdf
WeAreDevelopers_micro_frontend_framework.pdfWeAreDevelopers_micro_frontend_framework.pdf
WeAreDevelopers_micro_frontend_framework.pdfjaneSim13
 
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014NDOORS
 
Wildgoose 최종데모
Wildgoose 최종데모Wildgoose 최종데모
Wildgoose 최종데모KIM HEE JAE
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료지원 정
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624uEngine Solutions
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdfssuserb942d2
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent
 

Similar to d2_5th_나눔 프로젝트 설명서 (20)

Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyun
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a job
 
Goorm소개
Goorm소개Goorm소개
Goorm소개
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하
 
[Tech meet up] 2018 프론트엔드 트렌드&인사이트
[Tech meet up] 2018 프론트엔드 트렌드&인사이트[Tech meet up] 2018 프론트엔드 트렌드&인사이트
[Tech meet up] 2018 프론트엔드 트렌드&인사이트
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
 
이재훈 개발 포트폴리오.pdf
이재훈 개발 포트폴리오.pdf이재훈 개발 포트폴리오.pdf
이재훈 개발 포트폴리오.pdf
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
WeAreDevelopers_micro_frontend_framework.pdf
WeAreDevelopers_micro_frontend_framework.pdfWeAreDevelopers_micro_frontend_framework.pdf
WeAreDevelopers_micro_frontend_framework.pdf
 
Goorm
GoormGoorm
Goorm
 
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
 
Wildgoose 최종데모
Wildgoose 최종데모Wildgoose 최종데모
Wildgoose 최종데모
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 

d2_5th_나눔 프로젝트 설명서

  • 1. 나눔(Nanum) 프로젝트 설명서 정구범 jgb625@naver.com https://github.com/GubeomJeong 이성온 dltjddhs@gmail.com https://github.com/so3500 프로젝트 개요 프로젝트 명 나눔(Nanum): 개발 프로젝트 관리 웹 서비스 프로젝트 소개 나눔(Nanum)프로젝트는 프로젝트 관리를 지원하는 웹 서비스 입니다. Nanum은 팀의 구성원들이 효율적으로 프로젝트(소스코드, 이슈)를 관리할 수 있도록 설계되었습니다. 프로젝트 세부 내용 프로젝트의 목적과 핵심기능, 주요 사용자를 말씀해주세요.* Nanum의 핵심 기능은 개발 프로젝트 관리입니다. 사용자들은 프로젝트 소스를 작성하고, 서버에 결과가 반영됩니다. 프로젝트 팀원들은 실시간으로 프로젝트 소스코드를 수정할 수 있으며, 현재 누가 접속해서 어떤 소스를 수정하고 있는지 알 수 있습니다.
  • 2. 프로젝트를 진행하면서 이슈가 발생할 시 게시판을 통해 이슈를 공유할 수 있습니다.
  • 3. 프로젝트 구조 프로젝트에 사용한 언어, 아키텍쳐 등 전반적인 기술사항에 대해 설명해주세요.* Front-end Vue.js 라이브러리를 사용하여 single page application을 구현하였습니다. Vue.js의 vue-router를 사 용하여 하나의 페이지에서 많은 path를 사용할 수 있었습니다. Vue.js에서의 single file component 라는 것을 사용하여 .vue 파일 하나당 하나의 컴포넌트를 만들어 좀 더 유연하게 개발을 할 수 있었습니다. Axios를 이용하여 서버와 ajax통신을 구현하였습니다. ace editor를 사용하여 실시간 코 드 하이라이팅을 구현할 수 있었습니다. 다른 사람들과 실시간으로 코드를 수정할 수 있는 기능 을 구현하기 위해 sockjs와 stompjs를 사용하여 websocket을 통해 서버와 양방향 통신을 하였습 니다. 한 파일을 수정할 때 그 파일을 수정하고 있는 사람들에게 websocket으로 데이터를 전달해 주었습니다. 하나의 프로젝트가 가지고 있는 코드들을 관리하기 위해 파일 구조를 구현하였습니 다. npm을 사용하여 버전관리와 패키지 관리를 하였으며, webpack을 사용하여 모듈을 효율적으로 관 리 하였습니다. Back-end Spring boot를 이용하여 개발을 진행하였습니다. Spring mvc를 사용하여 mvc 디자인 패턴으로 프 로젝트를 개발하였습니다. Database는 mysql을 사용하였습니다. Spring-jpa-data를 사용하여 객 체중심으로 개발을 할 수 있었습니다. Restful 규격에 맞게 api를 구현하도록 노력하였습니다. Google oauth를 사용하여 좀 더 효율적으로 유저를 관리할 수 있게 하였습니다. Gradle을 사용하여 빌드를 하였고, swagger를 사용하여 rest api에 문서를 좀 더 손쉽게 확인할 수 있었습니다. Docker를 이용하여 아마존 ec2서비스에 효율적으로 배포를 할 수 있었습니다.
  • 4. 프로젝트 활용분야 및 향후 발전 방향  프로젝트 빌드 기능 추가  깃허브와의 연동을 통하여 개발중인 소스코드 공유 활성화  이슈 관리 기능 추가 주제 관련 tag, 사용자 언급 tag 기능 추가(github 참고)  알림 기능(프로젝트, 이슈 관련)  실시간 채팅(음성채팅)  프로젝트 유저들의 활동 기록을 저장하고 분석하여 의미 있는 자료를 도출