개요
RealBase v2(이하 RealBase)는 T3스택을 기반으로 웹 애플리케이션을 만들기 위한 fullstack 템플릿입니다. v1보다 더 간결해졌기 때문에 개발자 경험과 생산성을 높이기 위한 구조로 업그레이드 되었습니다.
RealBase는 NextJs, tRPC, Prisma 기본 스택으로 사용하며 스타일은 Tailwind CSS, Mantine을, 인증은 NextAuth를 프로젝트 관리는 TurboRepo를 사용합니다.
또한 Eslint, Prettier, Zod 등으로 코드 품질을 높이고, 일관된 포멧을 유지할 수 있도록 설정되어 있습니다.
페이지
RealBase는 NextJs의 App Router를 사용하여 페이지를 구성하고 최신 React 버전을 활용해 React Server Component를 지원합니다. 이로 인해 페이지의 성능이 향상되고, 개발자 경험도 향상되었습니다.
스타일
RealBase는 T3스택의 기본 스타일링 도구인 Tailwind CSS를 사용할 수도 있지만, 템플릿의 기본적인 스타일링 방향은 Mantine UI 라이브러리를 사용합니다.
인증 및 사용자관리
RealBase는 NextAuth.js를 사용하여 인증 및 사용자 관리를 처리합니다. NextAuth.js는 다양한 인증 제공자를 지원하여 사용자의 로그인 및 회원가입을 처리할 수 있습니다.
기본적으로 이메일과 비밀번호를 사용하여 인증을 처리할 수 있습니다. 또한, 소셜 로그인도 지원합니다. 소셜 로그인은 Google, Facebook, GitHub, Kakao, Naver, Apple 등을 지원합니다.
API 통신
RealBase는 tRPC를 사용하여 API 통신을 처리합니다. tRPC는 서버에서 클라이언트까지, End-to-End 동일하고 안전한 타입으로 간결하게 API를 관리할 수 있습니다.
tRPC와 함께 zod를 사용하여 런타임 타입을 검증합니다.
데이터 모델
RealBase의 Prisma를 사용하여 데이터베이스 모델을 정의합니다.
Prisma는 ORM(Object Relational Mapping) 라이브러리로, 데이터베이스 모델을 정의하고, 쿼리를 작성할 수 있습니다.
Database
RealBase의 기본 데이터베이스는 MongoDB를 사용합니다. 기본적으로 Prisma가 지원하는 데이터베이스를 모두 지원합니다.
Seed는 MongoDB의 데이터베이스를 생성하고 초기 데이터를 삽입합니다. Prisma를 사용하여 스키마를 관리하고 데이터베이스와 상호작용할 수 있습니다.