토이 프로젝트 nodejs express server 레파지토리
-
kakao developers 설정
-
로그인 후 상단메뉴의 My Application 클릭
-
Add an application 클릭하여 App name/Company name 입력
-
도메인 등록
생성한 application 진입하여 왼편 Platform 선택 후 Register Web platform 클릭
도메인 입력
-
왼편 Kakao Login 클릭하여 활성화 및 Redirect URI 입력
자신이 원하는 경로를 입력하면 됨
-
정보제공 동의 설정
-
시크릿 키 발급
-
REST KEY 확인
-
서버 구동 방법
-
로컬에서 구동하기전
.env
파일을 생성하여 프로젝트에 사용되는 환경변수들을 설정IP= PORT= MONGO_URI= NODE_ENV= KAKAO_REST_KEY={kakao developers에서 발급받은 Rest Key 입력} KAKAO_SECRET={kakao developers에서 발급받은 Secret 입력} NAVER_CLIENT_ID={naver developers에서 발급받은 Client Id 입력} NAVER_CLIENT_SECRET={naver developers에서 발급받은 Client Secret} FB_APP_ID={미정} FB_CLIENT_SECRET={미정}
-
npm run dev 명령 실행(사용자 환경변수에 맞춰 구동)
-
npm run start 명령 실행(향후 배포시 사용)
-
-
디렉토리 구조
├── config │ ├── configOption.js // 실행 모드에 따른 config option 분기 │ ├── development.js // 개발환경에서 .env 파일로 설정한 환경변수 참조 │ └── production.js // 배포환경에서 사용자가 설정한 환경변수 참조 │ ├── db │ ├── ds.js // mongoose 모듈 활용 connection 함수 구현 │ └── users.js // mongoose schema 생성 │ ├── node_modules │ └── 생략 │ ├── public // static으로 설정된 폴더(Client가 Server의 데이터를(html, img 등) 다이렉트로 접근 가능) │ ├── images // 각종 이미지 폴더 │ ├── logos // SNS 로고 이미지 폴더 │ └── toast.js // toast 동적 표시용 js 파일 │ ├── routes // routing 폴더 │ ├── auth │ │ ├── auth.js // oauth 인증 js 파일(kakao, naver) │ │ └── authorization.js // 로그인 인증 js 파일(토큰 비교) │ ├── main.js // router 통합 관리 js 파일 │ ├── signin.js // signin 페이지 관련 라우팅 설정(POST,GET API) │ └── signup.js // signup 페이지 관련 라우팅 설정(POST,GET API) │ ├── views // Template Engine Folder(Pug) │ ├── base.pug // 공통 포맷 설정 │ ├── request-reset-password.pug // 비밀번호 초기화 페이지 │ ├── result_login.pug // 로그인 결과 출력 페이지 │ ├── signin.pug // 로그인 페이지 │ └── signup.pug // 회원가입 페이지 │ ├── app.js // express 관련 설정 부분(라우팅, 파서, 뷰, 스태틱 설정 등) |── main.js // entry 파일(mongodb 서버 연결, app.js 호출, nodejs 서버 구동) ├── package-lock.json ├── package.json ├── README.md
-
Reference
-
향후 보완점
- 비밀번호 초기화 및 이메일 인증