본문 바로가기

2024내일배움캠프/TIL

[TIL] 3/20 주특기 플러스주차_NextJS를 활용한 팀플!

최종 프로젝트 전 마지막 팀플이다

어제 깃헙에 레포지토리 만들고 이슈템플릿, PR 템플릿 설정 등을 했고

깃 컨벤션과 코드 컨벤션을 정했다

 

오늘 발제를 통해 자유주제인게 확실해졌다

NextJS를 쓰는 것에 맞게 API를 무조건 활용해서 만들고 싶었는데 도무지 아이디어가 생각나지 않았다

3개의 후보 중(버스 첫차,막차 알림 서비스, 레시피 알려주는 서비스, 마지막은 뭐였는지 기억도 안나는)

레시피 알려주는 서비스가 뽑혔다

 

사용자가 원하는 재료와 원하지 않는 재료를 입력하면 그에 맞게 3가지 정도의 요리를 알려주고,

클릭한 요리의 레시피를 알려주는게 목표였다

 

하지만 API의 벽에 막혔다

사용하고자 했던 API가 있는 웹사이트가 하필이면 오늘 점검날이었다

내일은 되겠지하고 기획을 진행하다 내일 안되면? 이라는 생각이 들었고

제일 중요한 부분인데 불확실하게 두고 진행할 수 없겠다는 결론이 나왔다

 

대안으로는

1. 레시피는 알려주지 않고 요리만 알려준다

 -> 규모가 너무 작아짐(기각)

2. 사용자 참여형으로 돌린다 - 사용자가 직접 레시피 넣게함

 -> NextJS를 쓰는 이유에 맞지 않다(NextJS의 다양한 기능을 사용할 수 없다)

 

그래서 나는 NextJS의 다양한 기능 사용해보기를 중점으로 두고, 이전에 사용해봤던 TMDB를 이용해

다시 한번 영화 사이트를 만들어보는건 어떻겠냐고 제안했다

사실 우리가 이 프로젝트를 하는 이유는

NextJS를 배워서 잘 활용하기 위함이라서 아이디어가 중요할까 하는 생각이 들었기 때문이다

따라서 아이디어는 접어두고 확실하게 보장된 API를 선택하자는 것!

 

다들 이 의견에 잘 따라줬고 우리의 프로젝트는 영화사이트만들기로 정해졌다

SA 피드백으로는 우리가 NextJS로는 처음 하는 팀플이기 때문에 이전의 팀플과는 다른 컨벤션이 필요하다고 하셨다

1. 렌더링 컨벤션

 - 이 페이지는 서버 컴포넌트를 사용하기로 했는데 개발하다가 클라이언트로 바꿔버린다면?
    하위 컴포넌트들도 클라이언트 컴포넌트가 되면서 예상치 못한 일이 발생할 수 있다

2. 데이터 캐싱 관련

 - 우리가 받아올 데이터가 많기 때문에 캐싱을 잘 활용해보라고 하셨다

3. fallback, loading에 대해서도 이야기 나누고 정할 것!

4. 로그인/회원가입? 댓글? 이런거 우리가 이미 다 해본것들이다 + 실무에서 잘 쓰이지 않음

 - 이런것들은 최소화 하고 영화 정보를 보여주고, 검색된 정보를 보여주는 것에 중점을 둬라

 -> 과감하게 전부 없앴다

5. WBS & Tasks - 우선순위로 결정

 - 기간이 짧은 우리의 일정상 우선순위가 정말 중요하다!

 

나는 이번 프로젝트를 통해

1. 일정대로 잘 진행될 수 있도록 하기

2. 팀원간의 커뮤니케이션 원활하게 할 수 있게끔 하기

3. 어떻게 하면 NextJS를 깊이 있게, 또 효율적으로 사용할 수 있는지 생각해보기

     - 명확하게 why를 정하고, 그에 맞는 솔루션을 찾고, 우리의 상황에 제일 잘 맞는 솔루션 적용하기

 

를 목표로 하고 있다

파이팅!!!