Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ChooseTale/Backend

Open more actions menu

Repository files navigation

Choose Tale - 백엔드 서버

Choose Tale은 사용자가 자신만의 인터랙티브 스토리를 만들고 플레이할 수 있는 플랫폼입니다. 이 저장소는 Choose Tale의 백엔드 서버 코드를 포함하고 있습니다.

기술 스택

  • 프레임워크: NestJS
  • 데이터베이스: PostgreSQL (Prisma ORM)
  • 인증: JWT, Express-session
  • 문서화: Nestia/Swagger
  • 배포: Docker
  • 테스트: Jest
  • API 클라이언트: Nestia SDK

주요 기능

  • 사용자 인증 및 프로필 관리
  • 게임 생성 및 관리
  • 인터랙티브 스토리 빌더
  • 게임 플레이 시스템
  • 이미지 업로드 및 관리 (AWS S3)

프로젝트 구조 (도메인 구조)

src/
├── common/              # 공통 유틸리티, 가드, 필터 등
├── config/              # 환경 설정
├── game-builder/        # 게임 제작 기능
├── game-play/           # 게임 플레이 기능
├── my-page/             # 사용자 마이페이지 기능
├── user/                # 사용자 인증 및 관리
├── app.controller.ts    # 메인 컨트롤러
├── app.module.ts        # 메인 모듈
└── main.ts              # 애플리케이션 진입점

시작하기

로컬 개발 환경 설정

  1. 저장소 클론
git clone [repository-url]
cd choose-tale
  1. 의존성 설치
npm install
# 또는
yarn install
  1. 환경 변수 설정 .env 또는 .env.local 파일을 생성하고 필요한 환경 변수를 설정합니다.

  2. Docker 설정 실행

npm run docker:setup
# 또는
yarn docker:setup
  1. 개발 서버 실행
npm run dev
# 또는
yarn dev

명령어

Docker 설정

npm run docker:setup

로컬 환경에서 서버를 가동시킬 수 있도록 기본 컨테이너(PostgreSQL 등)를 구축합니다.

타입 패키지 배포

npm run type-publish

Nestia SDK를 사용해 API 타입 패키지를 배포합니다.

개발 모드 실행

npm run dev               # 개발 환경
npm run dev:prod          # 프로덕션 환경 설정으로 개발
npm run dev:docker        # Docker 환경에서 개발

API 문서

개발 환경에서 서버 실행 시 http://localhost:[PORT]/api-docs에서 Swagger UI를 통해 API 문서를 확인할 수 있습니다.

About

No description, website, or topics provided.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.