저희가 기획한 프로젝트는 블로그 형식입니다.
Git 협업이 익숙지않아서 Git 협업을 익숙하게 하기위해서 커다란 프로젝트를 진행하기 전에 기본적인 CRUD 프로젝트인 블로그 형식으로 진행하게 되었습니다.
이 프로젝트의 모델은 Velog로, Velog를 모델로 정한 이유는 개발공부를 하면서 가장 친숙한 형태의 블로그 형식이기 때문에 Velog로 정하게되었습니다.
그렇기 때문에 구조는 Velog와 비슷한 형태이며 불필요하다고 생각하는 UI를 제거하고 구성하였습니다.
황순욱 | 유요한 | 정다현 | 김민성 |
---|---|---|---|
@cleooo5857 | @YuYoHan | @jDaHyun | @rlaalstjd00 |
Front-end | Back-end | Back-end | Back-end |
현재 프로젝트 ERD는 다음과 같습니다.
게시글화면
로그인
회원가입
메인
설정
게시글작성
댓글
로그아웃
처음 다같이 프로젝트를 Git으로 협업을 하다보니 팀 리더로써 많은 오차가 있었습니다. 저 포함 거의 Git으로 협업을 어떻게 해야할지 몰라서 Git 협업하는 방법부터 익숙해져야 했습니다. 그리고 처음에는 view를 리턴해주는 방식으로 스프링 부트를 구성했는데 공부를 하는 중 리액트(React)와 협업을 할 때는 REST 방식으로 JSON으로 보내주는 것을 알고 기존의 코드를 전부 수정하여 REST 방식으로 수정했습니다. 프론트와 백엔드를 레포지토리를 따로 만들지 않고 하나의 레포지토리를 둔다음 브랜치에서 프론트와 백엔드를 따로 두고 구성하였습니다. 학원에서 배웠을 때는 Spring 까지만 배워서 Spring과 SpringBoot의 차이점을 알지 못했지만 프로젝트를 진행하면서 Spring과 SpringBoot의 차이점을 알게 되었고 session 방식의 불편함을 알게 되어 JWT를 공부해야 겠다는 마음을 가졌고 현재 프로젝트에서는 DB에 비밀번호가 그대로 들어가는데 보안성이 취약하다고 느껴져서 security 공부의 필요성과 프로젝트를 만들려고 여러 사이트를 돌아다니다 보니 요즘은 소셜 로그인을 많이 사용한다는 것을 알게되어 다음 프로젝트에서는 OAuth2 방식을 공부해서 적용해야겠다는 생각을 하게 되었습니다. 거기다 멀게만 느껴졌던 AWS 배포를 공부하고 알게되어 좋았습니다. 아쉬운점은 지금 프로젝트의 규모가 작고 controller 테스트를 계속 공부했지만 구글에서 검색했던 것들이 계속 실패를 해서 swagger을 사용할 수 밖에 없던 점과 위에서 언급한 security, JWT, OAuth2를 사용하지 못한점이 아쉬웠습니다.