/toi-nodejs-server

토이 프로젝트용 nodejs 임시 서버코드 레파지토리

Primary LanguageJavaScript

toi-nodejs-server

토이 프로젝트 nodejs express server 레파지토리

  1. kakao developers 설정

    • kakao developers 접속

    • 로그인 후 상단메뉴의 My Application 클릭

      kakao developers

    • Add an application 클릭하여 App name/Company name 입력

      Add an application

    • 도메인 등록

      생성한 application 진입하여 왼편 Platform 선택 후 Register Web platform 클릭

      Register Web platform

      도메인 입력

      Enter Domain

    • 왼편 Kakao Login 클릭하여 활성화 및 Redirect URI 입력

      Kakao Login 활성화

      자신이 원하는 경로를 입력하면 됨

      Redirect URI 입력

    • 정보제공 동의 설정

      정보제공 동의 설정

    • 시크릿 키 발급

      시크릿 키 발급

    • REST KEY 확인

      REST_KEY

  2. 서버 구동 방법

    • 로컬에서 구동하기전 .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 명령 실행(향후 배포시 사용)

  3. 디렉토리 구조

    ├── 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
    
  4. Reference

  5. 향후 보완점

    • 비밀번호 초기화 및 이메일 인증