CLC - 영화 사랑 모임

My 38th Post


CLC - Cinema Lover Community

by Enterprise Kim.T.H

const reqJSON = (res) => {
  console.log(`ERR : ${res.data}`);
};

CLC 프로젝트 진행

Cinema Lover Community(이하 CLC)프로젝트는 웹개발 기획 수업 기말 대체 과제로

Spring Framework를 이용하여 자유주제로 웹페이지를 제작하는 것에서 시작하게 되었다.

처음에는 시간이 1주도 채 주어지지 않아서 간단한 프로젝트로 계획하였으나,

과제를 제출한 후에 부족했던 Spring를 더 공부해보고 싶은 마음이 들었다.

마침 군대에 있는 친구가 Github를 보고 프로젝트에 참여하고 싶어하였다.


처음 프로젝트의 구조

과제를 1주일도 안되는 시간에 제출하고 시연까지 해야하는 상황이였기에 익숙하지 않은 JSP를

이용하여 화면 디자인을 하는 것은 거의 불가능해 보였다. 그래서 이전에 React.js를 공부하면서

만들어 두었던 영화정보 사이트를 프론트단에서 그대로 쓰기로 하고, 리뷰 게시판 형태의

글작성을 할 수 있는 기능을 추가하는 것을 목표로 하였다. 기존의 영화정보 사이트를 리뉴얼 하는 형태라고 할 수 있다.

위와 같은 목표를 가지고 게시판 정보를 저장할 수 있도록 Firebase를 DB로 사용하게 되었다.(이유는 밑에서 설명)

또한 Spring Framework를 이용하기로 하였기 때문에 백엔드는 당연히 Spring-boot로 구축하게 되었다.


기말 고사 제출 시점의 구조

음 . . . 결론부터 말하면 위에서 말한 모든 기능을 손쉽게 구현할 수 있었고, 그 중심에는 Firebase가 있었다.

Firebase는 Oracle 및 다른 상용DB 중에서도 연결이 굉장히 쉽고, 간편하게 CRUD를 구현할 수 있는 것 같다.

처음 Firebase를 사용할 때에는 NoSql DB였기 때문에 복합색인등 익숙하지 않은 설정들이 필요했는데, 한 2년 가까이 사용하다보니 그러한 설정이 너무 능숙해졌다.

Firebase는 Oracle과 같이 로컬환경에서 세팅하는 것이 아니기 때문에 한 번 설정을 해두면 굳이 AWS등과 같은

클라우드 컴퓨팅 서비스를 이용하지 않아도 인터넷만 연결이 된다면 어디서든지 사용이 가능하다는 막강한 장점이 있다.


제출 후 JPA와 H2 DB를 이용한 리뉴얼

여기서부터는 군대에 있는 친구와 함께 작업을 하기 시작했다.

현재 진행 중이며 아마 내년이 가기 전에(?) 마칠 수 있을거라고 생각한다.

H2 DB는 테스트용으로 많이 사용하는 간편한 DB이다.

실제로 사용해보니 연결이 쉽고 직접 데이터를 조작할 수 있는 등의 장점이 생각보다 크게 다가왔다.

JPA의 경우 많이 공부를 하지 못해서 현재 영속성 문제가 걸려있는 듯 하다.

영속성 문제만 해결이 되면 바로 프론트단과 연결하여 테스트를 진행하고, AWS를 이용하여 서버를 배포할 예정이다.


마치며

새삼 3년동안 배웠지만 아직 너무나 갈길이 먼것을 뼈저리게 느꼈다.

JPA도 H2도 거의 초심자의 마음으로 진행 중이며, 진행을 하며 느끼는 점과 심각한 에러사항들을 포스팅하려고 한다.

다음글은 아마 영속성 관련 문제인 듯 한 ‘Could not write JSON: failed to lazily initialize a collection of role’

에러를 해결한 후 문제 분석 및 해결 방법에 대한 글이 될 것 같다.

그럼 안녕 !

Good Bye ~