0주차는 3명에서 한 팀으로 팀프로젝트를 만들었다. (기간 : 월 오후 3시 ~ 목 오후 1시)
프로젝트 개발 배경
비싼 배달비로 배달이 망설여지는 요즘, 먹고 싶은 음식(상호명)을 올리고 같이 시켜먹을 사람을 구해 배달비를 나눠서 낼 수 있는
웹 사이트를 만들려고 했다.
필수 포함 기능
- 로그인 기능
- Jinja2 템플릿 엔진을 이용한 서버사이드 렌더링
더 고민해볼 키워드
- Bootstrap을 대체할 CSS 라이브러리 사용하기(Bulma등)
- jwt인증 방식으로 로그인을 구현하기 (쿠키/세션 대비 등장하게 된 배경)
설계
메인페이지에는 마감시간이 안지난 리스트들을 시간 오름차순으로 정렬해서 나열해준다.
+ 버튼을 누르면 글을 등록할 수 있다. (로그인 시에만 가능)
함께하기 버튼 클릭시 오픈채팅방링크 제공 및 오픈채팅방으로 이동 (로그인 시에만 가능)
리스트 누르면 detail page로 이동
개발 환경
- flask, JS, AWS, mongodb, Jina2, Tailwind
* Jinja2를 사용하라고해서 써보았는데 백->프론트로 데이터를 편하게 주고 받을 수 있는 점과 for, if문을 간편하게
쓸 수 있어서 코드가 좀 더 간결해지는 느낌이다. 문법이 파이썬틱해서 자바스크립트보다 파이썬이 익숙한 사람들에게 추천할만 한 것 같다.
SSR과 궁합이 좋다는 데, 와닿지는 않았다.
* Bootstrap을 대체할 CSS 라이브러리 사용하기(Bulma등) -> 함수형 프로그래밍이 유행하는 요즘, 유행하는 css라이브러리라고 하여 사용해보았다.
style="display:flex;" -> class="flex"
위처럼 간편하게 사용할 수 있는 장점이 있고, 반응형을 만들기 수월할 것 같다고 느꼈다.(시간이 없어 반응형까지는 구현을 하지 못했다.)
역할 분담
코딩하는 혁이 - 프론트 모두 (모든 페이지 디자인 및 페이지 이동, 데이터 받아와서 렌더링)
0규 - 인증, 인가 기능
0지 - 나머지 백엔드 기능(글 등록, 글 리스트 보기, 글 자세히 보기, 시간지나면 삭제 등)
결과물
아쉬운 점 및 느낀 점
설계의 중요성
이 프로덕트는 시간을 받아서 시간을 가공하여 저장하고, 현재시간보다 작은 것은 안보여줌과 동시에 오름차순으로 정렬한다.
이 기능을 만드는 과정에서 시간을 string으로 받았다가 int로 받았다가 년월일을 시간옆에 붙여서 저장했다가 결국에는
년도월일과 시간분을 따로 받아서 구현을 했다. ( 3박 4일동안 수정을 3번이나 했다. )
개발을 하기 전에 설계를 조금 더 깊이 있게 조금만 더 생각을 했더라면 위와 같이 번거롭게 수정하는 시간을 줄이고 새로운 기능을 추가했을 수 있었을 텐데 라는 아쉬움이 많이 남았다.
다음 프로젝트때는 설계에 공을 들이고 개발을 시작하자.
협업 스킬
git pull request를 처음 써봤다. 그래서 더 헤맸었다. 처음에 모두 잘할 수 없다는 걸 알지만 잘 하지 못해서 아쉬웠다.
다음 팀 프로젝트에서는 더 잘할 수 있도록 노력해보자
정보 공유
과제중에서 jwt 인증 방식에 대해서 팀원들과 많은 대화를 나눴다. (쿠키/세션/토큰, jwt가 어떻게 동작하는 지 등)
jwt에 대해 얕게 알고 있었던 것을 더 깊이 알아갈 수 있어서 좋았다.
그러나, 한편으로는 다른 주제에 대해서도 이렇게 심도 깊은 대화를 나누면 많은 것을 얻어갔을 텐데 라는 아쉬움이 남았다.
다음 팀 활동에서는 정보 공유, 코드에 대한 생각 같은 것들에 대해 말하는 시간을 주기적으로 가져보도록 하쟈
오늘도 열코하쟈 ~~~
'SW정글사관학교' 카테고리의 다른 글
[SW 정글] 백준 2098 외판원순회 - 비트마스킹(feat, Python) (5) | 2022.04.23 |
---|---|
[SW 정글] 백준 2573 - 빙산 (feat, python) (0) | 2022.04.20 |
[SW정글] week03 후기 + DFS, BFS, 위상정렬 (2) | 2022.04.18 |
[WEEK01] 후기 (한 것, 운영진느님들과 Tea Time, 느낀점) (4) | 2022.04.07 |
[특별한과제] 찬찬히 나를 돌아보는 시간 (8) | 2022.04.01 |