Hook 프로젝트 회고록

양예성·2023년 12월 3일
2
post-thumbnail

우리 학교는 1학년 2학기때 나르샤 프로젝트를 진행한다.

나르샤 프로젝트란? 같은 학년 친구들과 하나의 프로젝트를 진행하며 ICT에 출품하는 걸 목표로 한다.

1학기 후반, 나는 평소 친하였던 친구들과 함께 프로젝트를 진행하기로 하여 팀 빌딩에는 큰 문제가 없었다.

우리 팀은 안드로이드개발자 2명, 디자이너 겸 안드 개발자 1명, 서버개발자 2명으로 구성되었다.

나는 서버 개발 겸 자진하여 기획자를 맡았고 처음 하는 기획이지만 열심히 하기로 다짐했다.

프로젝트 팀이 정해지고 방학기간 중 평소 학교에서 불편했던 팀 빌딩을 조금 효율적으로 해결하고자 하였다.

그래서 생각한 앱이 Hook이다.

기획하기

Hook의 초기 기획서는 클릭하여 확인할 수 있다.

기획서를 바탕으로 팀원들에게 나의 아이디어를 전달하였고 친구들도 좋은 반응을 보여 학교 구인구직 플랫폼으로 결정이 났다.

아이디어가 정해지고 나는 처음으로 기능명세서라는 걸 제작하여 보았다.

엄청 열정적이던 시절
처음치곤 나름 잘 한것 같기도 하고 잘 모르겠다.

여튼 기능명세서를 바탕으로 디자인과 개발을 시작하였다. 뭣도 모르던 2학기 초반 나는 같은 백엔드 친구와 디비 설계와 같이 사용할 스택에 대한 고민을 진행하였다. 같이 프로젝트를 하는 서버 친구는 기존 Node.js 를 사용하여 서버 개발을 진행하던 친구라 대규모 프로젝트에선 스프링이 더 효율적이지 않을까 토론하였고 스프링으로 개발을 진행하기로 하였다.

하지만 혼자 공부를 진행하는 나는 사실 이때까지만 해도 뭐가 뭔지 잘 몰랐고 한 한 달간은 방황을 한 것 같다.

방학 때 자바를 배우고 RestAPI로 CRUD도 혼자 구축 못하던 난 한 계기를 통하여 성장하게 된다.

바로 동아리 면접이다.

사실 이 이야기를 하면 옆길로 이야기가 새긴 하지만 잠시 이야기를 해보자면

1학기 초반 동아리를 떨어지고 알고리즘을 열심히 풀었다. 할 수 있던 게 없었으니까.

2학기 초반 또 전공동아리에 도전하였지만, 또 떨어졌다. 혼자 자만하고 있었으니... 떨어지는 건 당연하다 생각한다.

이 기점으로 다시 나를 돌아보며 서버 공부를 열심히 진행하였다.

다시 2학기 초반으로 돌아와서 한 달 동안 우린 개발이 아닌 개발을 진행하였다.

나르샤날마다 모여 서로 공부하였고 깃 사용법과 협업방법 등을 서로 협의하고 알려주었다.

한번의 시련

그러던 어느 날...

한 이야기가 들려왔다.

야 너네 아이디어 우리 아이디어 가져간 거 아니야?

???

이건 무슨 소리인가.. 방학 때 나의 노력이, 또 내 아이디어가 누구의 아이디어를 도난한 아이디어라니? (걍 아이디어 도난이 아니란 소리)

기존 작성한 기획서랑 기능명세서를 첨부하여 설명중..
나는 그 오해가 나온 팀에게 방학 때 작성한 기획서 및 기능명세서를 보여주며 오해는 잘 해결되었다. ^~^

여러 가지 사건이 있었고, 많은 시간이 지났다. 우리 앱은 점차 명색을 갖춰갔고 ICT 출품날이 다가왔다.

우리는 ICT 출품을 하기로 결정하였고 실제 평가 후 ICT 출품이 확정 났다.

Hook 이란?

급 마무리 하고 Hook에 대하여 설명하여 보겠다.

사람과 사람을 이어주는 플랫폼 Hook - by InnoSync

Hook 소개를 진행하자면

Hook을 만든 InnoSync팀과 대구소프트웨어학생들이 생각하길, 사람을 구하는 플랫폼,

이른바 구인구직 플랫폼의 필요성을 느끼고 있었고 이를 해결하고자 만든 앱, Hook을 소개합니다!

Hook은 InnoSync 팀이 개발 중인 서비스로, 구인구직 및 다양한 활동을 모집하는 플랫폼입니다.

구인구직을 통하여 학생들 빠르게 프로젝트 팀을 구성하거나 참여할 수 있고, 사용자들은 운동과 같이 밥 먹을 사람등을 모집하고 찾을 수 있습니다.

저희는 이러한 플랫폼 제공을 통하여 사용자들이 서로를 간편하게 찾고 같이 팀을 이루는 등의 선순환 구조가 이루어지는 걸 목표로 합니다.

이런 앱이다.

2023 대한민국 ICT융합 엑스포 출품한 사진

ICT 도 출품하였고,

잘 마무리하였다.

🔥 성장 경험

  • 거대한 프로젝트에 대한 이해 - 평소 해보지 못한 거대한 프로젝트를 진행하면서 순차적인 프로젝트 진행방향에 대한 이해를 하였다.
  • PR과 이슈 단위 - Github branch 관리방법과 PR, 이슈 작성등의 개념을 실제 프로젝트에 적용하였다.
  • 팀원과 협업 - 팀원이 기존 Node.js로 개발하던 팀원이라 Spring Boot에 지식이 많이 없어 서버개발을 거의 혼자 진행하였다. 이때 기존 팀원이 Spring Boot에 적응하도록 옆에서 기초 CRUD, 자바 등 여러 개념을 알려주었다.
  • 첫 배포 및 운영 - Azure로 배포경험이 있지만 AWS를 활용한 배포 및 운영 경험이 없었기에 Hook을 진행하면서 AWS의 배포과정과 서비스 운영 경험을 하였다.
  • S3를 활용한 이미지 업로드 기능을 활용하여 보았다. SDK를 활용하여 구현하였다.
  • 기존 프로젝트 생성 시 스프링부트 2.7.9 버전을 사용 중이었지만 개발 막바지로 가며 3.1.5로 마이그레이션을 진행하였고 기존 시큐리티와 다른 점을 공식문서를 확인하며 수정하였다.
  • Docker 사용법을 공부하였고 도커와 깃허브액션을 활용한 CI/CD 구축을 진행하였다.

🌱 느낀점

  • 기획부터 디자인, 개발까지 모든 부분에 다 참여를 하면서 앱이 전반적으로 어떻게 구성되고 만들어지는지 알게 되었다. 이런 기회가 흔치 않지만, 고등학생으로 이런 큰 프로젝트에서 기획하고 또 그걸 맞춰 개발하며 배워가는 부분이 많은 것 같다. 또한, 서버 개발을 시작하고 큰 프로젝트를 진행해 본 경험이 없어 협업 부분이 어려울 것 같았지만, 팀원들이 모든 일에 열정적이며 서로 소통을 많이 하여 문제없이 협업을 진행할 수 있었던 것 같다.
  • 개발자로서 성장한 느낌이 들었다. 그 이유는 기존 알고리즘적인 코딩에서 벗어나 서버를 개발하며 기존에 느끼지 못하던 문제점 (서버와 클라이언트 간의 소통, API 문서 제작, 같은 서버 팀원과의 협업)을 파악하고 그걸 해결하며 성장하였고, 지금은 내가 생각하는 난 개발자가 아닌 코더에 가깝다고 판단하였다. 그 이유는 로직을 구성할 줄 알지만, 문제를 해결하기 위하여 최고의 효율을 내는 것이 불가능하고 개발적인 부분에서 코드를 작성하는 것뿐만 가능하기 때문이다. 나르샤를 통하여 일반인에서 코더로 성장하였다면, 앞으론 개발자로서 성장하기 위해 노력할 것이다.

한 학기동안 프로젝트를 진행하며 여러 기술을 사용하고 배우며 더욱 성장하는 개발자가 된 것 같다.


2개의 댓글

comment-user-thumbnail
2023년 12월 3일

이야 죽이네요. 저도 저런 프로젝트 함 해보고 싶어요

1개의 답글