최종프로젝트 시작
드디어 최종 프로젝트가 시작되었다.
9월말부터 시작한 부트캠프는 어느 새 정식 주차 14주차를 맞이하게 되었다.
지난 14주동안 크고 작은 개인 그리고 그룹 프로젝트를 하면서 의사소통이 잘 되고, 서로에게 힘이 되는 동료들끼리 마음을 합쳐서 조를 이루게 되었다. 특히 부트캠프를 시작하고 첫 조에서 만났던 ck님과 jh님이 최종 프로젝트 조로 함께 되어서 더욱 힘이 났고, 온전히 이들에게 의지하고 믿음을 주며 또 좋은 자극을 받을 수 있기에 기대되는 마음으로 최종 프로젝트 Day 1 을 맞이해 나갔다.
오늘 나의 일정은 아래와 같았다
[공유] 09:00 최종프로젝트 발제
[공유] 11:00 SA 특강
[공유] 12:00 - 13:30 1차 회의 : 기술스택 next.js 로 결정
[공유] 14:00 - 15:00 점심식사
[공유] 15:00 2차 회의 : 기술스택 나머지 의사결정
[공유] 16:00 - 16:30 튜터링
[공유] 16:30 - 21:30 3차 회의 with 현영 디자이너님 : 서비스 선택, 와이어프레임
특히 오늘 일정에서 가장 중요했던 것은 바로, 프로젝트 초기에 결정해야하는 기술스택 회의와 외부에서 팀원으로 들어오시는 디자이너 분을 만나 이야기하는 시간이었다.
1차 회의 : 기술스택 결정
프레임워크 : Next.js 14ver
Q. React 가 아닌 Next.js를 채택한 이유?
A.
- 라우터 버전 Page Router
- WHY? 마이그레이션이 힘들다(에러가 많음), 여전히 회사에서 페이지라우터를 많이 쓰고 있다. 페이지라우터에 대한 문서및 정보가 앱라우터보다 많다. 앱라우터는 아직 불안정한 실험적인 기능들이 있다.
언어: Typescript
Q. 순수 Javascript가 아닌 Typescript를 채택한 이유?
A. 코드의 안정성휴먼에러 방지(타입지정시, 데이터 입력시 타입자동완성되는 이점), 배포 전 런타임에서 에러를 잡기 위해서, 자바스크립트 자체 버그 방지
CSS : Tailwind CSS
Q. 다른 CSS 라이브러리, 예를 들면 styled components / module CSS / style jsx / emotion 를 선택하지 않고 Tailwind를 채택한 이유?
A. 코드를 볼때 (UI)스타일 연상이 용이, 추가적인 파일이나 코드 작성 없이 구현 가능, 유지보수 용이, 다른 라이브러리와 같이 동적 스타일링 가능
데이터베이스: Supabase
Q. firebase가 아닌 Supabase를 채택한 이유?
A. supabase는 SQL 구조로 NoSQL 구조인 firebase보다 속도가 3~4배 빠름
ClientSide 전역상태관리 : Recoil , React query(Tanstack-query5)
Q. RTK 이 아닌 Recoil를 채택한 이유
A. 직관적이다, 코드 양이 줄어든다, 서버와의 통신 시 상태관리의 편의성 / isLoading, isError가 내장되어 있어 미들웨어와 인터셉터가 구현을 할 필요 없다
redux : 생성 > 리듀서 생성 > 액션 설정 > 디스패치(액션) 호출
recoil : 생성 > 호출
Q. React query(Tanstack-query5) 채택한 이유
A. 캐시 활용하여 효율적인 데이터 관리
통신 : Axios
Q. Axios를 채택한 이유?
A. JSON형식으로 변환하는 과정으 빠지면서 코드양이 줄여짐, fetch는 네트워크 오류만 잡는데 axios는 네트워크 이외의 오류도 잡아냄
기타
- ESLint
- 자동완성, 코드 스타일 검사, 프로그래밍 오류 찾기 도구로 휴먼에러 방지할 수 있음
- TDD : Jest
- 디바운싱 : Lodash (추후 결정?)
- 검색 : Full text search, supacase? next? search API
인증/인가 : Next vs Supabase vs Firebase Auth
Q. 채택한 이유?
A. Next vs Supabase vs Firebase Auth
배포 : Vercel
'부트캠프 개발일지 2023-2024 > Bootcamp 생활기록' 카테고리의 다른 글
[15주차] 최종 프로젝트 : supabase 데이터 관계형 table 만들기 (1) | 2024.01.09 |
---|---|
[14주차] 최종 프로젝트 : 어떤 서비스를 만들까, 디자이너와 함께 협업, 웹앱 서비스 (0) | 2024.01.06 |
[13주차] firebase 데이터 가져오기 (next.js) (0) | 2023.12.27 |
[10주차] 리액트 : .env 와 .gitignore가 포함된 프로젝트 Vercel로 배포하기 (1) | 2023.12.10 |
[10주차] console.log 쉽게 확인하는 법 (1) | 2023.12.08 |