1. 프로젝트 소개


Programming study matching website

최근 프로그래밍에 관해 관심이 높아진 사회에서 자발적으로 코딩을 배우려고 하는 사람이 늘었다. 특히 코딩 분야는 커뮤니티 적으로도 매우 활발하게 교류가 되고 있어, 독학으로 공부하기에도 좋은 분야 중 하나이다. 하지만 혼자서 공부하기에는 막히는 부분이 자주 발생한다. 이때 궁금한 점이 있으면 질문할 수 있는 공간이 Google 검색 말고는 없다. 그래서 고안한 것이 같은 기술을 배우려는 사람끼리 스터디 매칭을 시켜주는 서비스이다. 멘토ㆍ멘티로 진행되는 스터디를 한다면, 궁금한 점이 있으면 물어볼 수 있는 공간도 생기고 함께 학습해가면서 혼자서 공부할 때보다 동기부여도 된다. 나 역시 2학년 겨울방학 때 혼자서 Python을 독학하여 간단한 프로그램을 만들었다. ‣ 이때 가장 아쉬웠던 점이 막히는 부분에 있어서 물어볼 곳이 주위에 없다는 것이었다. 주위에 나보다 실력이 좋은 한 명이라도 있었다면 개발 기간도 많이 줄일 수 있을 거라는 생각을 하면서 이번 프로젝트를 시작하게 되었다.

2. 프로젝트 목적


🌐 Web 개발의 기초

동의대학교 박유현 교수님의 ‘클라우드서비스’ 과목을 통해 해당 프로젝트가 진행되었다. 수업을 통해 배운 Web 개발에 기초를 배웠으며, 이를 바탕으로 직접 구현해 보면서 더 심화적인 기술까지 사용하는 것이 이번 프로젝트의 큰 목적이다.

👥 협력

5명의 팀원으로 단체(Organization) 리포지토리를 사용하여 형성 관리에 집중하였다. Commit 시에도 형식에 맞추어 작성하고, main 브랜치에 merge하기 전에 코드 리뷰를 위해 PullRequest를 적극 사용하였다. 또한 5명이서 효율적인 협업을 위해 자신에게 맞는 역할을 각자 나누어 진행하였다.

Untitled

3. 기술 스택


개발 환경

Front-end

Back-end

그림1.png

4. 잘한 점


  1. 서버를 이용한 개발

    클라우드 컴퓨팅을 이용하여 Ncloud에서 서버를 구축하여 개발을 진행하였다. 그래서 localhost가 아닌 서버 내에서 코드를 구현하고, 다른 기기에서도 도메인 주소만 입력하면 접속할 수 있어 여러 환경에서의 테스트를 할 수 있었다. 또한 지금껏 협업할 때 각자 다른 로컬 디스크에서 개발을 진행하다 보니 충돌되는 부분도 많았다. 하지만 서버를 이용하니 팀원과 같이 하나의 공간에서 작업이 가능하였고, 기능 구현이 바로 적용되어 개발하는데 시간이 많이 단축되었다.

  2. 협업의 중요성

    Commit 할 때 상세 내용은 메시지로 적고, 제목은 영문으로 작성하여 명확한 목적만 전달될 수 있도록 하였다. Pull request 시에는 다른 팀원의 코드를 보면서 코드 리뷰를 해 보았다. 이렇게 하니 어떤 기능이 추가되는지, 내가 개발한 코드가 맞게 짜여진건지 확실하게 피드백이 가능하였고 코드 협업에 대해서는 큰 충돌 없이 프로젝트가 진행되었다.

    Untitled

    메서드 마다 Javadoc을 이용하여 API 문서를 만들면서 개발하였다. 코드에 대한 이해도가 크게 향상되었고, 다른 팀원도 메서드가 어떤 역할을 하는지와 어떤 파라미터가 필요한지 바로 눈에 들어와 편리하다고 하였다.

    Untitled