사용 언어 (FE/BE) | TypeScript (FE/BE) |
---|---|
웹 프레임워크 (FE/BE) | [FE/BE] Next.js (v14, App Router) |
Auth 라이브러리 | NextAuth.js (v4) |
상태 관리 라이브러리 | Zustand |
스타일링 도구 | TailwindCSS |
ORM / DBMS | Prisma / Supabase (PostgreSQL) |
패키지 관리자 | pnpm (v9.5.0) |
런타임 환경 | Node.js v20 |
이미지 CDN | Supabase Storage |
배포 (FE/BE) | FE 배포: Vercel, BE 배포: Vercel (API 라우팅, 서버리스 함수), Supabase (PostgreSQL, DBMS) |
문서화 도구 / IDE | Notion / VSCode |
개발 환경 / 운영 체제 | Mac |
<aside> 🛠️ [프레임워크] Next.js Full-Stack 기능을 활용해 프론트엔드와 백엔드를 유연하게 오가며 작업할 수 있고, 실무에서 사용했던 프레임워크라 익숙하기 때문에 채택하였습니다.
</aside>
<aside> 🔐 [인증/인가] NextAuth.js 실무에서 credential 인증/인가 기능을 접해본 경험이 있어 선택했습니다.
</aside>
<aside> 🐻 [상태관리] Zustand 경량 라이브러리로 최적화에 유리하며, 러닝 커브가 낮아 빠르게 습득할 수 있어 선택했습니다.
</aside>
<aside> 🎨 [스타일도구] TailwindCSS Styled-Components는 동적 스타일링에 유리하지만, 반복적인 디자인 피드백에서는 수정이 복잡했습니다. 빠른 개발과 일관된 디자인이 중요한 개인 작업에서는 TailwindCSS가 더 효율적이라 판단했습니다.
</aside>
<aside> 📦 [패키지매니저] pnpm Yarn Classic과 사용법이 유사해 익숙하면서도 유령 종속성 문제를 해결한 패키지 매니저라 선택했습니다.
</aside>
<aside> 🚚 [배포] Vercel Next.js의 ISR 기능을 지원하고, GitHub와 연동해 배포가 간편하며, 별도 서버 없이 백엔드 API 관리가 가능해 채택했습니다.
</aside>
<aside> 🚚 [배포/CDN] Supabase 데이터베이스를 클라우드에서 관리해주며, 인프라 설정에 대한 부담이 없고 Storage를 활용해 CDN으로 활용하기 위해 사용했습니다.
</aside>