프로젝트 후기

ahn__jh·2021년 6월 9일
1
post-thumbnail

Django Channels(websocket)를 이용한 실시간 퀴즈 프로그램 실시간으로 영상에 송출되는 문제로 Admin이 직접 컨트롤하며 퀴즈가 진행되는 프로그램

프로젝트 기간: 2021년 05월 10일 ~ 2021년 06월 04일

FrontEnd : 김효진, 박성은
BackEnd : 안정현, 정재유(PM)

🔧 기술 스택

Python
Django
Postgresql

🔧 협업 도구

Notion
Git
GitHub

프로젝트는 Agile형식으로 진행되었습니다.
1~2주차는 스프린트는 적용할 기능 학습을 목적으로 두고 진행하였으며
3주차에는 전반적인 기능 유저입장과,퀴즈송출,어드민관리,통계부분
4주차에는 QA진행하고 배포하고 발표준비 하는방식으로 진행되었습니다.

전체적인 흐름도

API정의서

User, Admin Login

Quiz Flow

Admin Chart



📖후기

프로젝트를 시작하기 전 굉장히 간단해 보이고 쉬울 것 같은 프로젝트여서 솔직히 금방 끝날줄 알았다.

Websocket이라는 새로운 기능을 적용하는데 필요한 공부시간과

1~2주차는 Django에 Websocket을 이용할 수 있게 해주는 channels라는 라이브러리를 학습에만 몽땅 시간을 쏟았다 처음엔 정말 어려웠다

이게 어떻게 작동 되는지 많은 강의들과 공식문서를 참조 하여 우선 기본적인 채팅기능을 구현해보고 나서

채팅기능을 응용하여 어드민이 요청을하는 메시지를 받으면 데이터를 불러오는 형식으로 개발을 진행 하였다.

또 대량의 트래픽 처리를 하려면 Nosql인 redis를 적용하여 퀴즈 문제들을 캐싱 해서 적용해야 했으나, Websocket 자체를 이해하고 적용하는데 시간을 너무 지체해서

아쉽지만 대용량 트래픽 처리는 과감히 포기하고 그냥 Websocket을 이용하여 요청을 주고받는 형태로만 개발을 하게 되었다.

프로젝트를 하며 좋았던점

실시간으로 다수의 유저와 통신하는 퀴즈 프로젝트, Websocket을 이용 하는 새로운 경험을 할 수 있었다.

어떤 플로우로 흘러가는지 명확하게 Zeplin을통해 확인 할수있었고 모호하거나 궁금한 부분에 댓글을 달아서 소통하고 실제 회사에선 Zeplin으로 디자이너들과 협업하고 어떻게 소통하는지 알 수 있었다.

Websocket을 이용한 도전 해보고 싶은 새로운 아이디어의 프로젝트들을 생각해볼 수 있었다.

프론트엔드와 개발을 할 때, 통신을 할 때 회의를하고 회의록을 작성하고 API정의서를 작성하면서 모든 작업들을 문서화가 가능하다면 문서화 하는것이 중요하다는 것을 깨닳았다.

프로젝트를 하며 배운점

  1. 팀워크가 안좋은 팀은 분위기가 안좋은 티가 난다.
  2. 실력도 중요하지만 좋은사람, 재밌는 사람, 같이 일하고 싶은 사람이 중요하다.
  3. 팀으로 일하는 것은 개인으로 일하는 것보다 더욱 어렵고 중요하다.
  4. 커뮤니케이션은 정말 중요하다.

나는 어떤 팀원이었나?

프로젝트가 끝나고 나는 어떤 팀원이였는가 라는 생각을 했다.
완벽하진 않았지만 함께 웃으며 회의했고, 웃으면서 코드를 치고
새로운 기술 학습에 각자 필요한 강의나 정보들을 찾다보면 공통된 부분의 정보도 공유하고 재밌게 일했고 또 재밌었던 사람이였다고 생각한다.
팀원들도 그렇게 생각 해준다면 정말 고마울 것 같다.

마치며,

다들 처음 접했던 기술스택들 PM이신 재유님은 문서 작성하며 심지어 node.js로 진행하시고 참 힘드셨을 텐데 고생하셨습니다.

완벽하진 못 했지만 프로젝트가 끝나면 늘 그렇듯 뭔가 생각보다 할만 했다 라는 생각이 들긴한다.

항상 새로운 것을 공부하고 시작하는게 점점 익숙해지고 있는건가? 라는 생각이든다.

0개의 댓글