오늘의 커피(항해99 Chap 01 프로젝트 소개 및 후기)

조상균·2021년 3월 6일
1

오늘의 커피

스타벅스 메뉴 중 사람들이 가장 좋아하는 커피를 보여드립니다!

깃허브: https://github.com/sanchoco/CoffeeOfDay

데모영상: https://youtu.be/FVRb_ukFViM

프로젝트 설명

기획 배경
커피를 찾는 많은 사람들이 많은 요즘, 커피를 활용한 서비스를 만들어보면 어떨까 고민하게 되었습니다. 커피가게에만 들어서면 선택 장애가 생기는 사람들을 위해 사람들은 어떤 커피를 좋아하는지 알려주는 사이트를 만들면 좋겠다! 해서 기획하기 시작했습니다.

서비스 설명
오늘의 커피에서는 커피 중에서 가장 많은 투표를 받은 메뉴를 사이트 상단에 보여드립니다. 로그인한 사용자는 선택한 커피메뉴에 대해 '좋아요'와 '싫어요', 그리고 댓글을 남길 수 있습니다. 선택받지 못해 아래에 있는 커피는 검색을 통해 쉽게 찾을 수 있도록 했습니다.

기능(API 목록)

기능MethodURLrequestresponse
GET/DB에 있는 커피 목록 출력
로그인GET/login로그인 화면 출력
POST/api/sign_inID, PW 전달검증 후 JWT 토큰 생성, 홈으로 이동
회원가입POST/api/check_nick닉네임이 DB에 존재하는지 요청중복 결과 반환(True, False)
POST/api/check_dupID가 DB에 존재하는지 요청중복 결과 반환(True, False)
POST/api/sign_up사용자가 입력한 ID, PW, 닉네임 전달유효성 검사 후 DB에 저장
상세 페이지GET/detail/커피id해당 메뉴의 이름, 이미지, 좋아요, 싫어요, 댓글 데이터 전달
POST/api/write댓글 내용, 작성자, 제품id를 전달토큰(로그인) 확인 후 DB에 저장
POST/api/like'좋아요'를 누른 커피id 서버에 전달토큰(로그인) 확인 후 '좋아요' +1
POST/api/dislike'싫어요'를 누른 커피id 서버에 전달토큰(로그인) 확인 후 '싫어요' +1

프로젝트를 진행하며 느낀 것

4일이란 짧은 프로젝트 기간은 어떻게 하면 효율적으로 두 명의 팀원들과 소통하면서 성공적으로 프로젝트 완성을 할 수 있을까에 대한 고민이 많았던 시간이었습니다.

1일 차 오전에는 프로젝트 주제와 아이디어에 대해 회의했는데, 팀원이 낸 아이디어 중 커피가 가장 괜찮았고 모두 동의하여 바로 API와 DB, 디자인, 협업 방식에 대해 논의를 하였습니다. 저를 제외한 팀원들은 GIT을 이전에 사용해본 적이 없어 사용법 익히기에 부족한 시간이라 하나의 브랜치로 코드에 대한 파트를 나누어 프로젝트 개발을 시작했습니다. 주로 필요한 기능 구현에 필요한 지식을 각자 공부하는 시간이었고 완성할 수 있을까라는 불안한 마음이 있었지만 2일 차부터 완전히 없어졌습니다.

2일 차에는 파트를 나눈 대로 모두가 열심히 기능을 구현하였는데 에러나 구현 중 발생한 문제가 있으면 모두가 모여 머리를 맞대고 해결하려 노력하였습니다. 하루가 끝나갈 때쯤 대부분의 API 기능들과 회원가입, 커피 리스트 DB, 프론트 등 많은 부분이 구현되어 있었습니다. 예상했던 기간보다 빨리 진행되었고 협업이 잘 되었음을 느꼈었습니다.

3일차에 토큰 인증과 접근 제한을 구현하였고 즉흥적으로 개선하면 좋은 것들을 팀원과 논의하고 메뉴 검색 같은 기능들을 추가로 구현했습니다. 또 API의 미흡한 부분을 수정하고 디자인을 다듬었으며 마지막인 4일 차에는 여유롭게 AWS EC2 서버에 올리고 프로젝트를 제출 할 수 있었습니다.

하루에 평균 16시간 동안 몰두하여 코딩하고 많은 노력을 한 프로젝트라 안에 쓰인 코드들을 모두 이해하며 설명할 자신이 생겼고, HTTP 통신과 CRUD가 가능한 API, 토큰 인증 등 웹 서버에 대한 많은 부분을 이해하고 구현할 수 있었습니다.

profile
백엔드 개발을 공부하고 있습니다.

0개의 댓글