⚙ 진행 현황
Back-end
중간 배포 →Swagger
로 구현된 API 확인 가능
구현된 기능
로그인
- Spring Security + JWT 로그인 기능
- 로그인 후 토큰 반환
회원/센터 관리
- 회원가입/프로필 수정/회원탈퇴
- 센터가입/프로필 수정/센터탈퇴
- 이메일/닉네임 중복 검사
- 이메일 코드 인증
기부글/기부희망글 관리 & 기부희망댓글/기부신청댓글 관리
- 회원의 기부글 등록/수정/삭제/상세조회(기부희망댓글 포함)
- 회원의 기부글 목록조회 - 필터링(제목, 카테고리, 태그)
- 센터의 기부희망댓글 등록/삭제
- 센터의 기부희망글 등록/삭제/상세조회(기부신청댓글 포함)
- 센터의 기부희망글 목록조회 - 필터링(제목, 카테고리, 태그, 센터이름, 센터위치)
- 회원의 기부신청댓글 등록/삭제
- S3를 이용한 이미지 등록/수정
- 수정 시 기존 디비에 저장된 해당 글의 이미지 모두 제거 후 수정된 이미지로 다시 등록되도록 구현했는데 프론트가 이렇게 가능하면 그대로 진행
마이페이지 관리
- 프로필 정보 조회
- 내가 쓴 글(회원은 기부글, 센터는 기부요청글) 조회
- 관심센터 조회
쪽지/일정 - 거래예약 관리
- 쪽지 발신/수신
- 거래예약 생성/처리/목록 조회
알림 서비스
- WebSocket 개발 설정
남은 기능
알림 필요한 도메인에 알림 주는 코드 설정
센터 가입 시 사업자등록번호 확인 기능 추가
관심센터 등록/삭제/목록조회
활동글 등록/삭제/상세조회/목록조회
- 센터의 활동글 등록/수정/삭제/상세조회
- 센터의 활동글 목록조회
(내 정보 응답 값 보낼 때 프로필 정보 + 내가 쓴글 + 관심센터 다 같이 보내주기)
https 적용
Front UI 진행 현황







📝 중간 회고 & 고민된 점
Back-end (12.08 작성)
부희
- 게시글의 기본 정보와 이미지 파일을 등록/수정할 때 프론트 분들과 어떻게 통신하면 좋을지 고민이 되었다. 내가 아는 방법을 가지고 프론트 분들과 논의 후
- 게시글 부분은 기본 정보 + 이미지 파일을 한 번에 등록하는 하나의
API
로 구현 - 회원/센터 부분은 프로필 사진은 따로 수정하는 것이 좋다고 하여 프로필 사진만 수정할 수 있는
API
로 기본 정보를 등록/수정API
따로 구현
- 기부글과 기부요청글의 구현 로직이 비슷하여 기부요청글 구현은 빨리 끝낼 수 있을 것 같아
Spring Security + JWT 로그인
부분을 동시 구현해보고 있는데 유저 테이블이 하나가 아닌 회원/센터 두 테이블로 나누어져 있어서 로그인 시 타입도 받아 서비스에서 분리하여 로직을 짜야할 것 같다...
권규
- 알림 기능 구현 시 본 서버와 비슷하게 통신할 수 있는 간단한 서버를 꾸렸다. 그래서 실제 서버가 올라가기 전에 프론트엔드와 테스트해보며 놓쳤던 부분(CORS 등)을 알 수 있었다. 필요한 부분만 떼서 일종의 mock server를 두는 것도 협업에 좋은 방법인듯!
- API를 먼저 짜두다 보니 프론트엔드에서 이렇게 구현하겠지 라고 생각하고 그 틀에 맞춰서 기능이나 응답값을 작성하게 되는 경향이 있다. 혼자 프론트, 백을 다 디자인할 수 있다면 수월하겠지만 그렇지 못하니 커뮤니케이션을 좀 더 자주 가져야겠다는 생각이 든다.
하정
- 개발하면서 계속해서 고려해야하는 상황들이 많이 생겨나는데 중간중간 까먹게 되면서 git commit 하는 단위가 애매해진다. 까먹지 말고 기록해둬 이하정!!
공통부분 개발할 때 수정하는 것도 팀원들에게 알리지 않고 수정했는데 반성해야겠다.
- 중간중간 생겨나는 상황에 대한 추가개발과 수정사항에 대해서 보고하는데에 시간을 좀 더 써야겠다.
- notion에 반영하는 것도 까먹어서 못했는데 오늘 개발이 어느 정도 마무리 되면 한번에 api와 erd 부분 추가할 예정
- 프론트랑 협업하는 것은 처음이라서 어떤 부분은 알려야 할지 잘 모르겠다.
refactor할 때 변경해야하는 부분들이 생겨나고 있다!
- if 문을 줄이기 위해서는 enum으로 다 바꿔야하나? → 현업에서는 if문을 어떻게 줄이는지 멘토님께 여쭤볼 것
- Optional을 사용하는 부분에서 exception을 만들기 애매한 부분들은 일단 get으로 처리했는데 이 부분을 어떻게 해야될 지 상의해봐야 함