감성 영화일기:
0.배경 : Teal and Orange는 삼성소프트웨어아카데미 1학기 관통 프로젝트로서 Django RESTful Framework와 VUE를 통해 만들어진 웹서비스이다. 페어 프로그래밍으로 진행되었으나 사실상 혼자 풀스택을 도맡아 개발한 개인 프로젝트로서, 2주라는 짧은 기간 동안 내가 원하는 UX를 데이터 베이스에서부터 직접 구현했다는 점에서 의미가 있다.
(짧은 설명 사진)
그러나 시간의 압박으로 인해 불량한 코드 품질로 리팩토링이 필요했고, 최초로 진행한 프로젝트였기에 회원관리에서의 보안과 클라이언트 사이드에서의 성능 측면에서 아쉬움이 남았다.
프로젝트가 끝난 후, 리팩토링을 미루어 두던 차에 Next.js를 접하게 되었다. Next.js의 서버 사이드 렌더링을 이용하면 내가 원하는 성능을 얻을 수 있을 것 같아 Next.js로 리빌딩을 진행하고자 한다.
페어 프로그래밍으로 진행되었지만 사실상 혼자 진행한 프로젝트...
넣고 싶은 기능이 많았는데, 페어의 강력한 주장으로 기능들을 다 제외한 '감성 영화 일기' 앱을 만들게 되었다.
참 부실한 기획이다 싶었지만, 감성적인 측면을 살리기 위해서 UI/UX에 많은 공을 들인 프로젝트였다.
덕분에 swiper와 smooth scroll 등 다양한 라이브러리도 직접 찾아 설치하여 원 페이지 UI도 구현하여 보고,
useDebounce를 통해 입력에 따라 자동으로 서버에 요청을 보내고,
같은 컴포넌트에서 조건에 따라 반응을 다르게 하는 등,
아이디어도 많이 떠올리고 재미있었다.
(그리고 지금 봐도 디자인은 세련된 것 같다.)
성능상에는 문제가 많은 앱이었다.
(상태 관리와 VUE2의 라이프 사이클에 익숙하지 않아서, 그리고 지나치게 TMDB Api에 의존해서.)
부실한 기획 속에 급하게 만드느라 코드 품질도 좋지 않았다.
장고로 구현하여 보안에 문제가 있을까 배포도 하지 못했다.
지금 만들면 더 빨리, 잘 만들 수 있을 것 같다.
재사용이 가능한 코드로 디자인 할 수 있을 것 같다.
파이어 베이스 기반으로 구현하여 배포까지 하고 싶다.
(다행히 회원 프로파일과 N:M 좋아요를 제외하면 백엔드가 복잡하지 않아 파이어 베이스를 연습하기에 딱 좋다.)
Next js + FB로 다시 제작하여 배포까지 진행해보려 한다.
랜딩 페이지에 로그인, 회원가입, 프로필 작성을 합쳤다.
메인 화면은 인기 카드와 추천 영화, 장르별 영화로 구성되어 있다.
프로필을 누르면 프로필 페이지로 이동한다.
글을 누르면 카드 작성 페이지로 이동한다.
카드를 생성, 수정할 때에 미리보기로 어떤 모습일지 확인이 가능하며,
CRUD의 기능을 하나의 카드가 모두 담당한다.