Skip to content
galhuiPublic

Repository files navigation

프로젝트 설명

게시글, 댓글 작성시 제목과 본문을 형태소분석하여 keyword를 추출합니다.

keyword 알림을 등록한 해당 사용자에게 알림을 보내줍니다.

형태소 분석기 mecab 설치가 되어있어야 정상적으로 작동합니다.

  • mecab은 window환경에서 설치하기 어렵습니다. docker를 이용해 실행해보는게 가장 편합니다.

서버 기동 및 시현 설명

docker가 사전에 설치되어있어야 합니다. docker 설치후 아래 커맨드를 이용해서 서버를 기동할수 있습니다.

https://www.docker.com/products/docker-desktop/

$ docker-compose up -d --build

위 명령어를 입력하면 mysql 서버와 node서버가 기동됩니다.

기동이 완료되면 아래 URL에서 API 동작을 확인 할 수 있습니다.

http://localhost:8080/swagger

mysql에는 기본 테이블들이 자동으로 생성되고, keyword dump 데이터가 생성됩니다.

mysql DB 접속 기본 정보는 아래와 같습니다.

host : localhost:3306 user : root password : password


폴더/파일 구조 설명

├── config              # 환경 변수
├── db_design           # Mysql Workbench에서 열수 있는 DB Model 파일
├── docker              # API, DB 서버 docker build 파일
├── entities            # typeorm-model-generator로 생성된 파일
├── sql-script          # DB Model로 생성된 테이블 스키마, API docker 이미지 생성시 기본 테이블 생성시 필요
├── src                 # 프로램 메인코드
│   ├── core            # 서버 설정 관련코드 및 공통코드
│   └── service_modules # 비지니스 로직 관련 코드
├── docker-compose.yml  # 최종 서버 기동용
├── nest-cli.json       # nest build시 설정
├── ormconfig.json      # typeorm-model-generator 설정
├── pakage.json         # 프로젝트 종속성 설정
├── tsconfig.build.json # typescript 빌드 설정
└── tsconfig.json       # typescript 실행 설정

로컬 테스트 관련 설명

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

그외 툴팁

NestJs cli

$ npm i -g @nestjs/cli

# 프로젝트 생성
$ nest new boardapi

# reousrce 생성
$ nest g reousrce board

# 모듈 생성
$ nest g module notice

typeorm-model-generator 사용

$ npm i -g typeorm-model-generator

# 디비에 생성된 테이블을 기준으로 entity 생성
$ typeorm-model-generator -h localhost -d board -p 3306 -u root -x password -e mysql -o ./

Contributors

Languages