[WIL] 최종프로젝트 MVP개발범위

Younseo·2022년 11월 27일
0

최종프로젝트

목록 보기
1/2
post-thumbnail

최종프로젝트 🥳

11월 4일부터 시작한 최종프로젝트! 벌써 3주가 지나가고 어제 중간발표도 했다.
좋은 팀원들을 만나서 너무너무 즐겁게 코딩중이다.💪🙆‍♀️
팀들 중에 가장 인원이 적어서 다른 팀보다 프로젝트 규모에서 차이가 많이 나려나 했었는데, 프론트 선생님들.. 기쁨님 효진님이 정말 정말 열심히 그리고 잘 해주셔서 MVP로 준비했던 모든 기능 + α로 중간발표할 수 있지 않았나 싶다. 💞
제일 마지막에 합류한 우리 지혜디자이너님도 열심히 해주시고, 피드백도 즉각적으로 반영해주시고 하셔서 정말 멋진!! 프로젝트가 만들어지고 있다.
원래부터 친했던 백엔드 팀원들도 진짜 다 같이 열심히 해서 3주동안 뿌듯한 결과물을 만들어 낸 것 같다!!👼 성우님 도원님 항상 감사합니다..
서로 배려하면서 말하지만 원하는 것은 확실하게! 소통 방식마저 너무나 완벽 갓벽 그 자체 🥰 혼자였으면 여기까지 오기 정말 힘들었을 것 같은데, 좋은 사람들이 옆에서 같이 열심히 해주어서 지치지 않고 재밌게 달려온 것 같다. 나도 우리 팀원들한테 그런 사람이었으면 좋겠다! 노력해야지

다시 생각해봐도 우리 조 정말 감동 또 감동.. 😭💜

3주차에는 컨디션 난조 + MVP구현이 거의 마무리된 상황이어서 1,2주차때 만큼 내 에너지를 쏟아 붓지 못했던거 같다. 다시 힘내서 마무리까지 쭉 달릴 예정 ~~ 🏃‍♀️🏃‍♀️🏃‍♀️🏃‍♀️🏃‍♀️🏃‍♀️🧡💛💚💙💜

👀 붐비붐비 👀

갑자기 너무 일기를 써버렸는데 본론으로 돌아와서 WIL로 MVP기간까지 어떤 기능들을 구현하였는지 적어보려고 한다 🐣

0. Welcome to BoomBiBoomBi 👀

붐비붐비는 👉 서울시 실시간 인구밀집도 api 👈를 활용하여 서울시의 여러 지역별 정보를 제공해주는 정보 제공형 커뮤니티 서비스이다. 서울시에 얼마나 많은 사람이 모였는지 방문 전 지역별 실시간 인구 혼잡도를 확인하고, 지역구별 커뮤니티를 통해 소식을 확인할 수 있다.

1. OAuth를 통한 로그인 기능 (kakao, naver)

우리 조는 일반 회원가입기능을 구현하지 않고, kakao, naver의 open login api를 이용하여 회원가입서비스를 제공한다.
일반 회원가입 기능은 이전에 여러번 구현해보아 구현하는 것 자체에는 문제가 없지만, 클라이언트에게 빠르고 간편한 회원가입을 제공하기 위해 OAuth를 사용했다.
✔ 카카오, 네이버로 둘 다 회원가입을 진행하는 경우에 두 계정의 email이 같다면, 같은 유저로 인식하여 한 계정에 두 소셜을 모두 연동하게 구현하였다.

2. 서울시 open api를 활용한 실시간 정보제공 기능

2-1. 전체 데이터의 누적 통계를 활용한 정보제공 기능

서울시 open api에서 제공하는 실시간 인구밀집도를 활용하여 총 3가지의 통계를 내 클라이언트에게 정보를 제공한다.
(1) 지난 평일 / 주말 가장 혼잡했던 곳 !
(2) 최근 1시간동안 인구가 가장 많이 변화(급증, 급감)한 곳 !
(3) spot 별 누적 + 실시간 정보제공 기능
세 통계 모두 native query(@Query)로 작성하였다. (1)번 같은 경우에는 일주일동안 제공되는 데이터가 변경되지 않기 때문에 다른 table에 저장해두고 그 테이블으로 접근하여 데이터를 제공하는 방식으로 설계하였다.

2-2. 구 별 코로나 정보, spot 별 정보 제공

구 별 코로나 신규 확진자수, 누적확진자 수를 제공한다.
spot별로는 (1) 실시간 날씨, 기온, 일 최저 최고기온 (2) 미세먼지, 초미세먼지 수치 및 안내 메세지 (3) 실시간 인구 혼잡도 (4) 여성, 남성 인구 비율 (5) 나이대 별 인구 비율을 제공한다.
2-1의 (3)은 Spot별 정보를 제공할 때 노출된다.

3. 구 별 커뮤니티 (CRUD)

커뮤니티 탭에서 구 별 게시글 작성이 가능하며, 총 4가지 카테고리 중 하나를 선택하여 글을 작성할 수 있다. 다중이미지 업로드가 가능하며, 태그(해쉬태그)를 달아 글을 작성할 수 있다.

4. QueryDSL을 사용한 검색 기능(내용+태그, 태그 검색기능)

검색에 들어가는 조건들이 여러 개 있어서 동적인 쿼리문을 작성하기 위해 QueryDSL을 도입하였다.

5. 댓글, 좋아요, 북마크 기능

게시물에는 댓글 작성가능하고 좋아요는 게시글 및 댓글에 모두 작동한다.
북마크 기능은 클라이언트가 자주 방문하는 구에 표시할 수 있으며 내가 북마크한 구들을 따로 관리할 수 있다.

6. 마이페이지 기능 (내가 작성한 글, 내가 좋아요한 글, 내 게시글에 달린 댓글, 내 정보 수정)

마이페이지에서는 내가 작성한 글, 내가 좋아요한 글, 내 게시글에 달린 댓글을 확인할 수 있으며 자신의 닉네임과 프로필 사진을 수정할 수 있다.

7. 무한스크롤

게시글 조회 및 검색 과정에 무한스크롤을 도입하였다.

✨ 그 외 ✨

1. QueryDSL

2. Swagger

3. Sentry

4. Github Actions & Code Deploy (CI/CD)

5. Scheduler를 통한 open api 호출


남은 3주도 열심히!!!! 최선을 다해서 멋진 프로젝트 완성시키겠습니다!!!!!!!!!!!!!!!!!! 화이팅 💪💪💪💪💪💪💪💪💪💪💪

0개의 댓글