Skip to content

rojiwon123/safe-nest-template

Repository files navigation

Backend Template

NestJS Prisma

Test Status

type-safe한 nestjs 개발 환경을 만들기 위한 템플릿 프로젝트입니다.

nestia, prisma, effect-ts를 적용했습니다.

참고 자료

특징

TS 타입 기반 API 문서 자동화

import { Controller, Get, Param } from "@nestjs/common";

import { Article } from "@/app/article/article.dto";

@Controller("articles")
export class ArticlesController {
    /**
     * api description
     *
     * @summary Get article
     * @tag Article
     * @security bearer
     * @param article_id id of article
     * @return Article Detail
     */
    @Get(":article_id")
    async get(@Param("article_id") article_id: string & typia.tags.Format<"uuid">): Promise<Article> {
        throw Error("not impl");
    }
}

Prisma schema 기반 ERD 자동 생성

명령어

빌드

  • npm run build : 애플리케이션 빌드
  • npm run build:nestia : nestia 기반으로 swagger api 문서, sdk 라이브러리 자동 빌드
  • npm run build:prisma : prisma client & erd 자동 빌드
  • npm run build:test : e2e test 환경 빌드

실행

  • npm start : 개발환경 서버 실행
  • npm test : 테스트 실행
    • npm test -- [options] [test name] : --only, --skip options 지원

db

  • npm run db:sync : prisma migration 동기화
  • npm run db:console : prisma studio 실행

CI/CD

  • main branch PR 생성시 github action에서 테스트 자동화 및 리포트 작성

Appendix