
이번엔 kiosk 프로젝트.
키오스크로 주문하는 프로그램을 만들어보겠습니다.
우선 기본세팅부터 시작
node.js의 express를 사용,
db는 aws RDS에 mysql을 사용합니다.sequelize이용해 ORM 작업을 진행합니다.
파일 구조는 계층형 아키텍처를 적용 할 예정입니다.
ERD 구성

프로젝트 폴더 생성 후 git 연결 먼저 해주기
git init
깃에서 레포지토리를 생성 후 로컬레포지토리와 원격레포지토리 연결하기
https://github.com/lec2528/Kiosk_Project.git
연결이 잘 되었는지 확인
git remote -v

이후 npm init으로 이니셜라이징 합니다
pakage.json과 pakage-lock.json 파일이 생성됩니다.
(기본설정으로는 서버 파일명만 수정해주었습니다)
npm init
필요한 패키지 다운로드 받기
npm i dotenv express mysql2 sequelize
dotenv를 통해서 환경변수를 따로 관리해줍니다.
다음은 개발자 의존성패키지 다운받기
npm i -D nodemon sequelize-cli
패키지를 모두 다운받은 후 시퀄라이즈 이니셜라이징을 합니다.
sequlize init
config폴더와 config.json 파일이 생성됩니다.
config.json의 기본 구성은 다음과 같습니다.
db연결과 관련된 내용이 작성되어있고
기본 설정은 로컬스토리지로 설정 되어있습니다.
RDS의 mysql db와 연결해주는데 이 부분에서 dotenv를 통해 환경변수를 관리해줄겁니다.
.env 파일 생성 후 파일 안에 정보를 입력해줍니다.(DB의 정보는 절대적으로 노출하면 안됩니다.)
이후 config.json의 파일이름을 config.js로 수정 후 다음과 같이 내용을 수정해줍니다.

이제 models폴더의 index.js에 가서 config.json을 config.js로 수정해줍니다.
const config = require(__dirname + '/../config/config.js')[env];
그 이후 다음 명령어를 실행해서 db를 생성해줍니다.
npx sequelize db:create
에러가 발생했습니다. 엑세스가 거부되었다고 합니다.
config.js파일에서 console.log(process.env)추가 코드 추가 후 콘솔을 찍어봅시다 .
node config/config.js
내용들을 확인해봅니다.
제 db의 username은 Lec입니다. 노트북 사용자의 이름인 LEC가 입력되어서 발생한 에러인것 같습니다.
.env파일과 config.js파일로 이동해서 환경변수를 수정해줍니다

수정 후 다시 db를 생성합니다
npx sequelize db:create

정상적으로 db가 생성되었습니다.
db 생성시 환경변수는 컴퓨터 내의 모든 환경변수와 상호작용하기 때문에 환경변수 설정시 에러가 발생하면 항상 console 찍어보면서 확인 해볼 필요성을 느끼게 되었습니다.