프로젝트

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

Younghun 2023. 9. 20. 11:25

목차

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

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

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

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

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


스프린트 개요

  • 기간: 9월 11일 (월) ~ 9월 18일 (월)
  • 목표: 회원 관련 API 개발
  • 구성원: BE 1명, FE 1명

GitHub Repository

API 문서


개발 진행과정

  1. JWT 인증 시스템 개발 - spring-boot-starter-oauth2-resource-server 활용
  2. Custom Exception 및 Global Exception Handler 구현
  3. PATCH 수정 API 개발

배운 점

  1. JWT의 내부구조와 SCOPE 권한에 대해 알게 되었다.
  2. 스프링 시큐리티의 동작 과정에 대해 알 수 있었다.
  3. ModelMapper 라이브러리를 이용한 객체 매핑을 배웠다.

개선할 점

  1. DTO가 많아지면서 프로젝트 구조에 대한 변화가 필요하다.
  2. JWT에 ROLE도 추가해야 한다.
  3. FE 테스트 편의를 위해 AWS에 조기 배포가 필요하다.

회고

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

 

JWT를 이용한 인증 시스템 구축이 생각보다 까다로웠다. 스프링 시큐리티와 OAuth2 Resource Server를 함께 사용하면서 JWT 인증 방식에 적합한 시스템을 구축했다. 대부분의 블로그 예제는 스프링 시큐리티만을 활용했기 때문에 참고 자료가 부족했다.

다행히 공식문서에서 자세한 예시를 알려주었고 뤼튼에서 GPT-4 모델을 무료로 사용하면서 많은 도움을 받을 수 있었다.

 

스프링 시큐리티 필터 동작에 대해 완전히 숙지하지는 못했다. 지금은 프로젝트 개발을 우선하지만 추후에 개발이 어느정도 완료되면 깊은 학습을 해보고 싶다. 하지만 웹 관련 기술에 집중하다 보니 JPA같은 DB 관련 기술에 대한 학습이 부족하다고 느껴진다. 다음 스프린트부터DB 관련 기술로 초점을 조금씩 옮겨 가면 균형 잡힌 학습이 될 것으로 기대된다.

 

확실히 강의만 듣는 것보다 직접 만들어 볼 때 지식이 체화되는 것 같다. 내게 부족한 것이 무엇인지도 잘 알게 된다. 프로젝트를 시작하길 잘했다는 생각이 든다.