개발/엘리스트랙 SW 4기

[엘리스트랙 SW 4기 | 2차 프로젝트] 백엔드 프로젝트 진행과정

prpn97 2023. 6. 2. 15:39

- API 명세서 작성

- ER Diagram

- API 개발

 

이번주 동안은 크게 간추리면 이렇게 진행했다. 

이제 내일 코치님께서 코드리뷰해주실 예정이고, 기능구현은 대부분 완성되었다.

사실 기능구현이라고 해도 여행일정을 기록, 공유하는 서비스에서 개발할 api는

회원가입 및 사용자 관련, 여행기 관련, 일정 관련, 댓글 관련 api 로 1차적으로 구성했다.

 

고도화되다보면 추가되겠지만, 일단은 회원가입 및 사용자, 여행기, 일정관련해서는

1차적으로 완료되긴 했다. req, res 다 잘 확인되고 있고, 다만 코치님께 피드백받기 전에

이미 알고 있는 아쉬움은 있다. 

 

이제 관계형 데이터베이스를 접한지 일주일이다보니, 아직 구조가 머릿속에 바로

그려지지는 않는다. 여행기를 구현할 때, 테이블에 들어가는 컬럼들을

diaryId, userId, planId, title, content, image, timestamp 로 구성했다. 

아마 국가 컬럼을 추가해야 할 것 같고, 로그인한 사용자가 만들 수 있기 때문에

userId는 로그인한 사용자 userId로 가져왔다. 문제는 planId이다.

 

먼저 여행을 가기 전에 일정을 짜고, 여행을 다녀온 후 여행기를 기록할텐데

plan에 먼저 db가 담기고, 해당 planId에 맞게 diary가 만들어져야 한다. 

 

현재는 planId는 null로 두었다. 둘 다 로그인해서 만들기 때문에 

userId를 기준으로 join해서 묶는다고 해도 프론트에서 해당 planId를 보내주게끔 하고

나는 그냥 planId를 요청값으로만 넣으면 되는 것인지 헷갈린다.

문득 이렇게 정리해보면서 약간의 힌트를 얻게 되는 것 같다.

planId 자체는 클라이언트가 보내주면서 plan을 만든 userId와 맞지 않을 때

diary를 만들 수 없도록 하면 되지 않을까? 

아무튼... 아직 2주의 시간이 남았으니 천천히 생각해봐야겠다.

 

 

그리고 이제 배포를 먼저 진행하도록 미션이 주어졌다. 

다음주중에 진행할듯한데, 잘 배워서 적어도 대부분의 업무를 완벽하게는 아니더라도

갈피를 잡을 수 있으면 좋겠다!

728x90