[게시판 서버] 기존 서버 구조 파악하기
프로그래밍 언어 및 기타/Spring Boot

[게시판 서버] 기존 서버 구조 파악하기

https://github.com/sglee487/isolia_api

 

GitHub - sglee487/isolia_api

Contribute to sglee487/isolia_api development by creating an account on GitHub.

github.com

 

FastAPI로 만든 기존 서버를 Spring boot로 변환하는 작업이기에, 일단 기존 서버의 구조부터 파악해야 했다.

뭐가 있는가?

 

 

jwt를 통한 자동로그인 구현용 /token/(은 귀찮아서 구현 안할거임),

기본적인 유저 회원가입, 로그인, 업데이트를 위한 /user/,

게시물 작성, 불러오기를 위한 /board/,

댓글 달기를 위한 /comment/

 

로 4개가 있다(ws_router는 지뢰찾기를 위한 web socket용인데 할지말지 고민중임).

 

또한 모델 컬럼(변수)들은 다음과 같이 이루어져 있다.

 

유저(user)는 다 기본인데 sns_sub와 login_type이 특이하다.

sns_sub는 google이나 apple 같은데에 SNS연동으로 로그인하면 주는 해당 고유 아이디같은 건데, 구글은 아니지만 애플같은 경우 처음에만 sns_sub와 이메일같은 개인정보를 주고 한동안 sns_sub만 준다. 그래서 snb_sub를 다른 이메일등의 개인정보와 같이 저장했다가 활용해야 하기 때문에 넣었다.

각 유저는 SNS로그인 타입과 email로 고유를 구분하도록 만들었었다.

 

 

게시판(board)에서 특이한 건 자유, 건의, 공지 같은 board_type, 미리보기용 preview_text와 preview_image를 따로 만들었고 조회수, 좋아요 싫어요가 있다. 미리보기용 preview는 게시글을 작성해서 서버에 보내면 서버에서 앞의 140글자를 따오고 사진이 있다면 첫번째 사진을 따와서 이미지 축소 후 서버에 저장해서 사용하는 방식으로 만들었었다.

그 외엔 뭐 유저 외래키로 저장하고...

 

 

댓글(comment)는 딱히 특별할 게 없다. 좋아요 있고 게시판과 유저를 외래키로 저장했다.

 

 

 

이걸 보고 한번에 너무 많은걸 하려면 오히려 크기만 커지고 되는건 없으니 일단 url부터 구현하기로 했었다..