철학과 학생의 개발자 도전기

[프로젝트] 게시판 프로젝트 - 스프린트3 본문

프로젝트

[프로젝트] 게시판 프로젝트 - 스프린트3

Younghun 2023. 9. 25. 13:34

목차

1. 게시판 프로젝트 - 스프린트1

2. 게시판 프로젝트 - 스프린트2

4. 게시판 프로젝트 - 스프린트4

5. 게시판 프로젝트 - 스프린트5

6. 게시판 프로젝트 - 스프린트6


스프린트 개요

  • 기간: 9월 18일 (월) ~ 9월 25일 (월)
  • 목표: 회원 API 완성, 게시글 API 개발
  • 구성원: BE 1명, FE 1명

GitHub Repository

API 문서


개발 진행과정

  1. 인증 정보 가져오기 리팩토링 - SecurityContextHolder에서 Authentication 객체 사용
  2. 게시글 생성, 삭제, 단건 조회 API 개발
  3. 도커 이미지를 활용해서 AWS EC2에 배포

배운 점

  1. 스프링 데이터 JPA에서 fetch join하는 법을 배웠다.
  2. 도커 이미지를 생성하고 컨테이너를 실행하는 방법을 배웠다.
  3. 스프링 시큐리티 권한 설정에 대해 알 수 있었다.

개선할 점

  1. orElseThrow()를 활용해서 예외 던지기 간소화를 해야겠다.
  2. 회원과 게시글에 대한 Cascade 정책을 정할 필요가 있다.
  3. 구현하지 못한 기능이 많기 때문에 리팩토링보다 구현 자체에 집중하자.

회고

백엔드 개발을 시작한 두번째 스프린트였다.


인증 시스템을 구축하고 나니 다른 API 개발은 비교적 수월했다. 하지만 JWT를 Authentication으로 만든 후에 불필요하게 JWT를 다시 decode해서 사용하고 있었다. 그 부분을 리팩토링해서 더욱 깔끔한 코드를 만들었다. 하지만 코드 퀄리티에 집중하다 보니 구현 속도가 늦어지는 것 같다. 우선은 기능 구현을 먼저 끝내고 추후에 전체적으로 리팩토링을 하는 것이 FE와의 협업을 위해서 더 좋은 전략일 것 같다.

 

도커 이미지를 만들고 AWS EC2를 활용해 클라우드 서버에 배포도 해보았다. 이제 FE에서 원격으로 API를 호출하면서 기능들을 테스트할 수 있게 되었다. 지금은 수동으로 도커 이미지를 도커 허브에 Push하고 원격 서버에서 Pull하고 있다. 추후에는 배포 자동화 시스템도 구축하고 싶다.

 

이제 기반을 잘 닦았으니 빠르게 필요한 기능들을 만들어 가보자.