본문 바로가기

스파르타코딩 내일배움캠프

내일배움캠프 - TIL 38 - 2차 프로젝트 회고

2021.10.19.(화) 16시부로 2차 프로젝트가 끝났다.

1차 때보다 기능구현 할 수 있었는게 더 많았던 것 만큼 더 어려웠다.

 

프로젝트 설명:

우리 프로젝트 이름은 "두근득근"이다. 운동을 하고 싶으나 어디서부터 시작해야 할지 모르는 사람들에게 운동영상과 정보를 제공해주는 웹사이트다. 영상은 유튜브에서 선별해서 가져왔다. YouTube API만으로 영상을 자동 선별하는 것은 아무래도 Machine Learning을 동원해야 하는 것 같아서 직접 영상을 선별해서 주소를 가져와서 DB에 저장을 했다. 

 

영상 뿐 아니라 사람들이 운동하고 기록을 남기고 또 다른 사람들에게 인증 및 자랑할 수 있는 공간인 "득근피드"를 만들었다. 그리고 궁금한 것을 다른 회원들에게 질문할 수 있는 득근QnA도 만들었다. 

github

  • 1차와 비교해서 issue, pull request 등 많이 늘었다. 그럼에도 불구하고 아직 version control에 대해서 덜 숙달 되어서 새로운 기능 구현할 때 코드가 엉킬까봐 새로운 폴더를 만들어서 코드를 작성했다. 깃에 대해서 조금 더 공부가 필요하다.

git issue 활용

내가 맡은 기능:

원래는 운동 기록하는 페이지와 기록한 것을 사람들에게 공유하는 피드 페이지를 팀원과 같이 만들려고 했다. 그런데 누군가는 1차 프로젝트의 기능을 2차 프로젝트 시작시 새로 구한 bootstrap template에다가 이식하는 작업을 해야 했다. 그래서 내가 자원했다. 이틀이면 끝날 줄 알았다. 오산이었다. 

 

일단 bootstrap template의 bootstrap 버전이 3인데, 이전에 쓰던 bootstrap 버전은 4이다. 그리고 font awesome 버전도 충돌했다. 버전간의 충돌 때문에 이걸 해소하는데 애 먹었다. Font awesome 문제는 아예 최신 버전을 써서 최신버전만 읽을 수 있는 아이콘만 써서, 기존의 template 아이콘과 충돌이 없도록 했다.

 

Bootstrap은 기존의 버전 4와 문제가 없었는데, 좀 더 멋진 게시판 template을 다른 곳에서 구해서 와서 이식 하려니, 이 게시판 template과 웹페이지 전체 template과 충돌을 일으켰다. 멋지게 하고 싶은 마음에 작동 가능하도록 했지만, 시간이 자꾸 흘러가서 게시판 template은 버렸다. 

 

예쁘게 하는 욕심은 버리고, 일단 기능 구현에 집중했다. "좋아요" 기능을 로그인 한 회원이 한 게시글마다 한번씩 "좋아요" 버튼을 누를 수 있도록 구현하는 것에 시간을 많이 썼다. 수업에서 "왜 이렇게 하는지" 설명하지 않고 넘어가니, 나만의 식으로 응용하려고 할 때마다 계속 에러가 났다. 결국 수업의 코드를 그대로 들고와서 이식했다. 이것조차도 프로젝트에 맞게 번형한다고 힘들었다. 에러가 나는데 어디서 나고, 왜 나는지 모르니. 

 

수업에서 "사용법 몰라도 된다"고 하고, 다 알고 쓰는게 아니라고 하는데, 원리를 알아야 에러를 고치던지 말던지 하지 라는 생각이 들었다. 이번 계기로 원리를 익혀야 한다는 생각이 더욱 절실해졌다. 

 

결국 피드는 다른 팀원이 하고, 해보고 싶었던 CI/CD는 하지도 못 했다. 

 

배운 점:

  • 예쁘게 만드려는 욕심보다는 기능을 구현하는 것에 집중. 
  • 기능도 일단 필수요소부터 먼저 구현 하고 나서 여유가 있으면 추가적으로 있으면 좋은 기능 구현하기. 
  • 마지막에 시연 때 그럴 듯하게 보이게 하려고 게시판에 실제 사용자들이 글 쓴 것처럼 글을 남겼는데, 사용자처럼 웹페이지에 글을 남기고 하다보니 웹페이지 기능적으로 부족한게 많이 보였다. 프로젝트 첫 시작 때 사용자 관점에서 편리성에 대해 집중하다가 보니, 프론트/UI/UX적인부분에 관심을 가졌는데, 지금 보니 편리성보다는 사용자가 필요한 기능을 생각하면, 프론트에 치중하지 않고, 백엔드개발자로서도 사용자에게 필요한 적절한 기능을 개발하는데 도움이 되겠다는 생각이 들었다. 

 

프로젝트 화면:

메인화면
"나에게 맞는 운동 영상 찾기"를 누르면 간단한 설문조사가 나온다.

 

 

 

 

2번째 질문이다. 

 

 

 

초보자들에게 추천되는 영상들이다. 

 

 

 

"득근피드" 화면이다.
"득근피드" 작성 페이지. 3차 프로젝트에는 "공개/비공개" 기능도 만들 예정이다. 

 

 

 

"득근QnA"이다. 

 

2차 프로젝트 마무리하며: 

욕심과 구현할 수 있는 것을 잘 구분해야 한다. 의욕이 넘치는 것은 좋지만 제한된 시간 내에서 작업을 완수해야 하기 때문에 취사선택을 잘 해야한다. 2차 프로젝트를 준비하며 취약점을 파악했기 때문에 3차 프로젝트 시작전에 취약점을 잘 보완해서 3차 프로젝트를 잘할 계획이다. 

 

보완점:

AWS

데이터베이스

웹 원리