정글 입소날이었던 2024년 8월 5일 월요일. 첫날부터 week 0주차 발제가 이루어졌다. week 0주차의 과제는 3박 4일의 시간 동안 미니 프로젝트를 진행해서 목요일에 발표를 하는 것이었다. 미니 프로젝트의 주제는 자유 주제였지만 요구 사항은 다음과 같았다.
과제 요구 사항
권고 사항
- 입학 과제에서 사용했었던 프레임워크인 Flask 사용
필수 포함 사항
- 로그인 기능
- Jinja2 템플릿 엔진을 이용한 서버사이드 렌더링
- AWS EC2에 업로드하고, 도메인을 붙이기
- 사용자 비밀번호를 암호화하여 DB에 저장하기
더 고민해볼 키워드
- Bootstrap을 대체할 CSS 라이브러리 사용하기 (Bulma, Tailwind 등)
- JWT와 HTTP Authorization header를 사용하여 구현하기
- HTTPS 적용하기
기획 과정
사실 나는 정글에 들어오기 전에 후기들을 많이 보고 와서 입소 첫날부터 웹 사이트를 개발하는 과제가 주어진다는 것을 알고 있었다. 그래서 첫 주에 프로젝트를 하게 된다면 어떤 주제를 하는 게 좋을지 미리 고민해봤다. 당시에 '변수명을 이렇게 지을까 저렇게 지을까?', '폴더를 새로 만들까 아니면 원래 폴더를 사용할까?' 이런 사소한 고민들을 많이 하던 때라 이런 고민들을 사람들과 공유할 수 있는 밸런스 게임 사이트를 만들면 재밌지 않을까 하는 아이디어를 생각해뒀었다. week 0주차 팀원들과 만나 이 아이디어를 제안하니 다들 좋다고 해주어서 이 아이디어로 개발을 시작하게 됐다.
역할 분담
팀원 3명이서 화면별로 프런트엔드 + 백엔드 둘 다 책임져서 개발했다. 역할 분담은 다음과 같이 했다.
- 나: 메인 페이지의 디자인과 필터링 기능 + HTTPS 적용 및 웹 사이트 배포
- 다른 팀원 한 분: 회원가입, 로그인 화면의 디자인과 JWT를 이용한 회원 인증, 좋아요 및 참여도 통계
- 다른 팀원 한 분: 게시글 화면의 디자인과 질문 등록, 답변 통계, 댓글 기능
회고
짧은 개발 기간이었지만 단기간에 많은 내용을 습득할 수 있는 시간이었다. 특히 운영진 분들께서 프로젝트 피드백을 해주실 때 혼자 개발할 때는 생각해보지 못했던 보안과 관련된 이슈들을 많이 언급해주셔서 JWT, HTTPS, 사용자 비밀번호 암호화 등의 주제에 대해 생각해볼 수 있는 기회가 되었다. 그런데 발표를 마친 목요일부터 바로 week01 주차 발제가 이루어져서 그때 바로 해당 주제들에 대해 정리할 시간은 부족했다. 그때 못했던 공부와 정리를 이렇게 정글을 수료한 뒤 차근차근 해나가보려고 한다!