[project]StoryBook

장서연·2021년 5월 2일

https://www.youtube.com/watch?v=SBvmnHTQIPY
TimeStamps:
Intro - 00:00​
Database Setup - 3:41​
Install Dependencies - 6:10​
Initial Express Setup - 10:26​
Connect Database - 14:00​
Morgan Logger - 17:27​
Template Engine & Layouts - 18:22​
Index Routes & Views - 21:44​
Materialize & Font Awesome - 25:54​
Set Static Folder - 26:55​
Login Layout - 29:13​
Login Page Template - 31:55​
Start Google Login - 33:57​
Passport Intro - 36:46​
Passport Config & Sessions - 39:00​
User Model - 42:49​
Passport Google Strategy - 45:41​
Auth Routes - 49:50​
Save Google Profile Data - 55:06​
Logout - 59:54​
Navigation - 1:01:11​
Auth Middleware - 1:03:22​
Store Sessions In Database - 1:08:36​
Story Model - 1:12:27​
Dashboard Stories - 1:14:44​
Add Story - 1:21:57​
Format Date Handlebar Helper - 1:33:35​
Public Stories - 1:36:40​
Truncate & StripTags Helpers - 1:44:10​
Edit Icon Helper - 1:47:04​
Edit Story - 1:54:21​
Method Override For PUT Requests - 2:02:30​
Method Override For DELETE Requests - 2:10:56​
Single Story Page - 2:18:46​
User Stories - 2:24:36

npm init 으로 package.json 생성

$ npm init

Dependency 설치

$ npm i express mongoose connect-mongo express-session express-handlebars dotenv method-override moment morgan passport passport-google-oauth20
express: 라우터 기능 등을 위한 웹 서버 프레임워크
mongoose : 데이터베이스 모델 설계를 위함
connect-mongo : allow me to store my sessions in my database and when we reset the server, we don't get logged out.
express-session : 세션과 쿠키를 위함
express-handlebars : 템플릿 엔진을 위함. 다른걸로는 ejs나 pug등이 있음
dotenv : config 를 위함
method-override : this allow me to make put and delete request from our templates. 디폴트로, get과 post로만 보낼 수 있기 때문에, 이 메소드 오버라이드 모듈로 put과 delete를 사용할 수 있게 한다.
moment : format dates
morgan : for logging. 로그를 위해 설치하는 모듈
passport : authentication

pakage.json 수정

"scripts": {
"start": "cross-env NODE_ENV=production node app",
"dev": "cross-env NODE_ENV=development nodemon app"
},

0개의 댓글