오늘 한일
- Node.js 미니프로젝트 기간이 시작되었습니다. 팀원의 구성은 Node.js 백 엔드 3명, React 프론트 2명으로 구성되었습니다. 팀이 구성되고 프론트에서는 어떤 기술을 사용했는지 백 엔드 입장에서는 궁금한 것을 이야기해보았고, 팀원들 각자의 기술 구현능력을 분석해보았고, 이번 미니프로젝트를 어떤 주제로 진행할지 정하였습니다.
- 미니프로젝트를 시작하기 전 프로젝트에서 사용할 API 구성과 DB ERD모델을 생성하는 데 가장 많은 시간을 할애한 것 같습니다.
- 깃허브를 백 엔드, 프론트엔트 1개씩 별도로 구성하였고, 프로젝트를 진행하기 위해 필수적인 Sequelize 및 DB 구성 코드와 app.js의 express 세팅까지 구성하였습니다.
오늘 배운 것
- Node.js 미니프로젝트 진행
- DB ERD 구성
- 미니프로젝트 API 구성
- 와이어 프레임 작성
- 백 엔드와 프론트엔드 협업 방법
- Notion 게시판 사용 방법
내일 할 것
- Node.js 미니프로젝트 진행
- 회원가입 및 로그인 기능 구현
- 인증 미들웨어 구현
필기노트
CORS : 허락받은 프론트엔드만 서버에 응답을 받을 수 있다.
-- DB 구성도
CREATE TABLE Users(
userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
nickname varchar(255) NOT NULL UNIQUE,
password varchar(255) NOT NULL,
createAt Date,
updateAt Date
);
CREATE TABLE Posts(
postId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId int(11) NOT NULL,
title varchar(255) NOT NULL,
artist varchar(255),
showDate Date ,
description varchar(3000),
img varchar(1000),
createAt Date,
updateAt Date,
FOREIGN KEY (userId) REFERENCES Users(userId) ON DELETE CASCADE
);
CREATE TABLE Favorites(
favoriteId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId int(11) NOT NULL,
postId int(11) NOT NULL,
createAt Date,
updateAt Date,
FOREIGN KEY (userId) REFERENCES Users(userId) ON DELETE CASCADE,
FOREIGN KEY (postId) REFERENCES Posts(postId) ON DELETE CASCADE
);
CREATE TABLE Comments(
commentId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId int(11) NOT NULL,
postId int(11) NOT NULL,
comment varchar(255),
createAt Date,
updateAt Date,
FOREIGN KEY (userId) REFERENCES Users(userId) ON DELETE CASCADE,
FOREIGN KEY (postId) REFERENCES Posts(postId) ON DELETE CASCADE
);
// docker run -rm : 컨테이너가 종료되면서 삭제되도록 설정
// -p 3306:3306 : 3306 포트만을 열여준다
// --name test-db : 생성할 Docker의 이름을 test-db로 설정
// -e MYSQL_ROOT_PASSWORD=1234 : 환경변수를 설정한다
docker run --rm -p 3306:3306 --name test-db -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
현재 프로젝트 폴더에서
$ npx sequelize init
$ npx sequelize model:generate --name Users --attributes nickname:string,password:string
$ npx sequelize model:generate --name Posts --attributes userId:integer,title:string,artist:string,showDate:date,description:string,img:string
$ npx sequelize model:generate --name Favorites --attributes userId:integer,postId:integer
$ npx sequelize model:generate --name Comments --attributes userId:integer,postId:integer,comment:string
$ npx sequelize model:generate --name Images --attributes nickname:string,password:string
'항해99 > TIL' 카테고리의 다른 글
2021-07-11 항해99 TIL (0) | 2021.07.12 |
---|---|
2021-07-10 항해99 TIL (0) | 2021.07.11 |
2021-07-08 항해99 TIL (0) | 2021.07.09 |
2021-07-07 항해99 TIL (0) | 2021.07.08 |
2021-07-06 항해99 TIL (0) | 2021.07.07 |