본문 바로가기

SW정글사관학교

[0week] 정글사관학교 첫 프로젝트 후기

반응형

 

 

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에 대해 얕게 알고 있었던 것을 더 깊이 알아갈 수 있어서 좋았다.

 

그러나, 한편으로는 다른 주제에 대해서도 이렇게 심도 깊은 대화를 나누면 많은 것을 얻어갔을 텐데 라는 아쉬움이 남았다.

 

다음 팀 활동에서는 정보 공유, 코드에 대한 생각 같은 것들에 대해 말하는 시간을 주기적으로 가져보도록 하쟈

 

 

 

 


 

오늘도 열코하쟈 ~~~

반응형