본문 바로가기

캡스톤 설계 [건물별 소통 플랫폼 BBC]/개발 진행

백엔드 개발 시작 [데이터 베이스 연결 및 환경 변수 세팅]

https://github.com/softmoca/bbc_server

 

GitHub - softmoca/bbc_server

Contribute to softmoca/bbc_server development by creating an account on GitHub.

github.com

이제 부터 본격적으로 개발에 들어간다.

.

.

철저히 공식문서를 기반으로 개발을 할것이며 공식문서로 레퍼런스를 못찾거나 

해메어 다른 레퍼런스를 참조할 경우 모두 가장 하단의 레퍼런스 에 기록을할 것이다.

.

.

우선 백엔드단의 회원가입과 로그인 api 를 먼저 제작  시작 !

 

 

$ npm i -g @nestjs/cli
$ nest new project-name

nest cli 로 기본 프로젝트 세팅 완료.

 

이후 데이터 베이스 연결을 해야한다.

다른 프로젝트와 개발 환경을 분리하기 위해 도커를 이용해서 로컬에서 mysql을 돌리며

차후 rds 로 이전할 예정이다.

 

 docker run --name mysql-bbc-local -p 3306:3306/tcp -e MYSQL_ROOT_PASSWORD=[@@@@] -d mysql:8

물론 이전에 도커를 설치한 상태여서 위 명령어 만으로 데이터베이스 세팅이 가능하다.

도커가 잘 띄어 졌는데 확인도 완료.

\\

외부 datagrip에 연결 성공

create database bbc_database;
show database;

datagrip으로 데이터 베이스 생성 후 유저 테이블 만들기

use bbc_database
CREATE TABLE `User` (
	`userIdx`	INT	NOT NULL,
	`email`	VARCHAR(30)	NOT NULL,
	`password`	VARCHAR(30)	NOT NULL,
	`nickName`	VARCHAR(30)	NOT NULL,
	`university`	VARCHAR(30)	NOT NULL,
	`phone`	VARCHAR(11)	NOT NULL,
	`longitude`	DECIMAL(10, 7)	NULL,
	`latitude`	DECIMAL(10, 7)	NULL,
	`profileImage`	TEXT	NULL,
	`createdAt`	DATETIME	NOT NULL,
	`updatedAt`	DATETIME	NOT NULL
);

데이터 베이스 유저 테이블 생성 완료

 

npm install --save @nestjs/typeorm typeorm mysql2

typeorm과 mysql 드라이버 설치

 

npm i typeorm-model-generator -D
npx typeorm-model-generator -h localhost -d bbc_database -u root -x [비밀번호] -e mysql

데이터 베이스에 만든 테이블 orm으로 엔티티로 변형 시켜 가져오기.

 

데이터 베이스 생성 이전에 환경 변수 설정 및 typeorm 세팅

npm i --save @nestjs/config

 

서버 실행 이상 체크 완료 !