넘블 [나만의 지역 기반 커뮤니티 서비스 만들기 챌린지] 회고록 (백엔드 개발자)

Yebin Lee·2022년 12월 1일
1

프로젝트

목록 보기
1/1

🐸넘블 참가

지인의 소개로 넘블 챌린지를 접했다. 프로젝트 하나가 끝나가는 단계라 아쉬운 참에 접했고 긴 고민 없이 바로 신청했던 것 같다. 결론부터 말하자면, 좋은 서비스다. 다음 백엔드 넘블 챌린지를 고민하고 있을 정도로 나는 서비스 자체에 만족했다..!


🖌️주제 회의 및 기획, 그리고 개발

챌린치 초반에는 확실히 주제와 세부사항 기획으로 시간을 많이 쏟았다. 프론트엔드 개발자 분이 내신 아이디어가 채택되었는데 우리는 PM이 따로 없었기에 개발자들 서로를 고려해가며 플로우를 기획해야했다. (기획은 참 어려운 것 같다 ... ㅠ)

1~2주 이상을 기획에 쏟았고 덕분에 차질 없이 개발을 진행할 수 있었다.

아래는 아이디어를 내신 개발자 분이 간단하게 작성해오신 플로우다.

개발팀에게 주어진 시간은 한달 남짓이었고, 나는 대면수업으로 21학점(6전공 1교양) 듣고 있으며 프로젝트 하나를 따로 하고 있고 졸업 시험도 준비해야 하는 ... 그런 상황이었다.

누구보다 열심히 살기 위해 이 챌린지 프로젝트를 선택했고 미처 다 하지 못해 폐를 끼치는 불상사는 절대절대절대(X999999) 만들고 싶지 않았다. 그래서 조금 아쉬웠지만 백엔드 개발 설계를 최대한 간단히 할 수 밖에 없었다 ㅠㅠ

우리 팀은 Kakao 오픈 API 를 사용했는데 프론트 단에서 모두 처리하셨다. 우리는 그 API에서 뽑아온 사용자의 위치나 사용자가 설정한 위치 등을 데이터로 담는 역할만 했다.

로그인은 Spring security와 JWT 토큰을 사용해 구현했다. 원래 JWT 토큰 시간은 짧게 가져가고 Refresh Token 을 사용해야하는데 백엔드 팀원 둘 다 경험이 없어 시간 관계상 위 방법을 택했다. 게다가 소셜 로그인 .. 도 PASS ...

마지막에는 프론트 개발자 분들이 개발 테스트 하시면서 로그인 유효값이 너무 짧다고 하셔서 토큰 시간을 1000배로 늘렸다. 하하하 30분에서 20일이 된 셈이다 ...

처음 회원가입 할 때는 사용자의 프로필을 기본 이미지로 설정해주자는 팀원들의 의견으로 디자이너님이 제작하신 이미지를 넣어두었고, AWS S3 저장소를 사용해 마이페이지에서 회원정보 수정 시 프로필 사진을 바꿀 수 있도록 코드를 구현했다.


📊DB 설계

1차로 설계한 DB는 생각보다 간단했다. 정말 데이터를 저장할 공간소만 만든 느낌...
PK 랑 FK 도 제대로 설정해주지 않았다. 반성!!

최종적으로 사용한 DB는 다음과 같다. 댓글과 대댓글을 작성하기 위해 comment 테이블을 둘로 나눴다. 또, 회원탈퇴 관리를 위해 blacklist 테이블을 만들었다.

💻서버 배포

⚒️GitHub 협업

📑API 문서


API 문서



어느 순간부터는 포스트맨 테스트를 하는데 한글이 ? 로 나오길래 .. 영어로 status code를 작성했다 ㅠㅠ


📌결과물

디자이너님이 PDF 정리를 정말 잘해주셨다.

최종 결과물에 대한 배포 링크는 다음과 같다!!

소분소분 서비스 즐기러 가기❤️

😎되돌아보며..

아직 데이터를 관리하는 spring boot 로직 자체가 어색한 백린이였는데, 조금 더 감을 잡은 거 같다. 점점 더 익숙해진다고 해야하나? 그래도 아쉬운 점은 생각보다 많은 기술을 배우지 못한 것 같다. 한참 부족한데도 공부를 위해 시간을 많이 쏟지 못하니 ...

이번 방학에 인턴을 하고 싶어 아등바등하고 있는데, 문득 3개월 내내 회사가 아니라 개인적으로 책을 보며 딥하게 공부를 해야하나? 라는 생각이 든다.

이런 이야기를 들으면 어서 빨리 취업을 해야할거 같고 ... 고민과 함께 끝난 프로젝트다.

공부하고 싶은 게 많다. 알림기능, 댓글 + 대댓글 언급 기능, 신고기능, 채팅기능 등등을 클린하게 구현해보고 싶고 서버 보안이나 유저에 대한 보안도 신경써서 개발하고 싶다. DB 설계도 깔끔하게 하고 싶고 다 까먹은 쿼리문도 다시 공부하고 싶다. 코테 준비도 하고 싶고...


소분소분, 안녕.

0개의 댓글