프로젝트(42)
-
5. Nest.js 광부왕 게임 서버 Swagger 적용
1. swagger, express-basic-auth 설치 npm install --save @nestjs/swagger npm install --save express-basic-auth 2. main.ts swagger 적용 * product 서버에서는 관리자만 swagger 접근이 가능하도록 express-basic-auth를 사용하여 비밀번호 설정 import { ValidationPipe } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; import { SocketIoAdapter } from './adapters/adapters'; import { AppModule } from './app.module'; //추가 im..
2023.03.03 -
4. Nest.js 광부왕 게임 서버 Redis 설정 [캐시 데이터]
- 캐시 데이터 DB : Redis 사용 이유 : 입출력 속도가 빠르고 서버 스케일 아웃이 발생하면 동일한 캐시 데이터를 사용 할 수 없어 한 곳에서 관리하기 용이 1. 모듈, 서비스 생성 nest g mo redis nest g s redis redis.module.ts redis.service.ts 파일이 생성된다. 2. 사용 Redis 명령어 아래 명령어를 사용 할 예정이다. ZRANGE : 순위를 저장 한 key 들을 가져오는 명령어 * WITHSCORES 옵션을 넣으면 순위와 함께 점수가 같이 출력 된다. start : 순위 시작 값 ( 0부터 시작 )end : 마지막 순위 값 ( -1일 경우 전체 ) 사용범위 : 회사 주간 순위를 확인 ZSCORE : zrange에 저장된 순위 중 검색하는 k..
2023.03.02 -
3. Nest.js 광부왕 게임 서버 로그 저장 [로그 데이터]
- Log DB DB : MongoDB 사용 이유 : 대용량의 데이터를 저장 하기 유리한 NoSql 방식의 MongoDB 사용 1. 라이브러리 설치 @nestjs/mongoose mongoose 설치 npm install --save @nestjs/mongoose mongoose 2. model 파일 생성 model 폴더 안에 model 파일 생성 logs.model.ts * 로그 저장 설정 : 로그 저장 기간은 3개월이 되면 자동으로 제거되도록 설정 한다. import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document } from 'mongoose'; const options = { timestamps: true, co..
2023.02.19 -
2. Nest.js 광부왕 게임 서버 Mysql TypeOrm 설정 [게임 데이터]
1. Configuration 설정 https://crispypotato.tistory.com/194 Nest .env 파일 사용 방법 1. 설치 npm i --save @nestjs/config https://crispypotato.tistory.com/192 Nest 설치 방법 [ CLI ] 전역 설치 npm i -g @nestjs/cli 프로젝트 생성 nest new 생성 할 프로젝트 이름 생성 중에 패키지 관리툴을 선택하면 설치 crispypotato.tistory.com 2. 라이브러리 설치 typeorm, @nestjs/typeorm, mysql2 설치 npm install --save typeorm mysql2 @nestjs/typeorm 3. model 파일 생성 src폴더 안에 model..
2023.02.16 -
1. Nest.js 광부왕 게임 서버 DB 구성
- Main DB DB : Mysql 사용 범위 유저 Table 아이탬 Table 게임 내역 Table 회사 (길드) Table 회사 (길드) 회원 Table 선물 리스트 보관 Table 스테이지별 난이도 정보 Table 관계 설정 * 스테이별 난이도 정보 Table은 관계가 필요 없어서 설정이 되어 있지 않다. 1. 유저 테이블 관계 1 : N 관계 유저 정보 : 유저 아이탬 유저 정보 : 게임 내역 유저 정보 : 회사 회원 유저 정보 : 선물 리스트 관계 2. 회사 테이블 관계 1:N 관계 회사 : 회사원 유저 Table users.model.ts import { ApiProperty } from '@nestjs/swagger'; import { IsBoolean, IsNotEmpty, IsStrin..
2023.02.16 -
0. Nest.js 광부왕 게임 서버 만들기 소개
기획, 게임 서버를 만들 예정 입니다. 게임 개요, 설명 이름 : 광부왕 - 지구, 달에서 광물을 채광하는 광부가 되어 채광하는게임입니다. - 5분 내 로 필요한 광물을 채광해야 합니다. - 스테이지가 존재하며 성공 시 다음 스테이지가 개방 됩니다. - 스테이지에 설정 된 난이도의 맞춰 클라이언트는 무작위로 광물을 배정 합니다. - 광석 보유량이 한정 되어 있어 지상으로 올려야 합니다. 1. 동료를 길 중간에 배정 하여 광석을 전달하고 지상으로 빠르게 올려야 합니다. - 게임에서 주어진 골드를 사용하여 업그레이드 합니다. 1. 드릴을 업그레이드 [ 굴착 속도가 상승 ] 2. 산소 호흡기 업그레이드 [ 보유 산소량이 증가 ] 3. 연구를 하며 다이너 마이트를 업그레이드 [ 채굴이 불가능한 구역까지 제거 ]..
2022.12.14