オメガアプリ:サーバー



必要なパッケージ
"@sendgrid/mail": "^7.2.4",
"bcrypt": "^5.0.0",
"cookie-parser": "~1.4.4",
"cors": "^2.8.5",
"debug": "~2.6.9",
"dotenv": "^8.2.0",
"express": "~4.16.1",
"express-validator": "^6.6.1",
"googleapis": "^40.0.1",
"http-errors": "~1.6.3",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.10.2",
"morgan": "~1.9.1",
"passport": "^0.4.1",
"passport-jwt": "^4.0.0"

エンドポイント
  • /api:apitleエンドポイント
  • /api/docs:apiloseドキュメント
  • /api/auth : Authorumエンドポイント
  • /signup:Authchenサインアップ
  • /login : AuthLesログイン
  • /verify/:token : Authense Verifychenメール
  • /api/auth/verify/:Authther Verifysieフル
  • /resend : Authense Verifychen emaillagは、
  • を修理します
  • /recover:AuthLes回復
  • /reset/:token : AuthSenseチェックサムResethedLink
  • /reset/:token : Authangerリセット
  • /api/auth/reset/ : Authchen resetchenフル
  • /api/user : UserCounterエンドポイント
  • /update : UserCountアップデート
  • /updatePassword : UserSense UpdateRoundパスワード
  • /deleteAccount : UserLange DeleteConeアカウント
  • /resetPassword : ClientSense ResetLangパスワードワードパス
  • /verifyEmail : ClientCount EmailCity VerificationCountパス
  • /api/subscriptions : SubscritionsCritherエンドポイント
  • /add/google : SubscritionsRadiesアドッサーグーグル
  • /add/google/callback : SubscritionsRadium addchen Googleangerコールバック
  • /updateSubscription : SubscritionsRank UpdateLankサブスクリプション
  • /api/spreadsheets : SpreadsheetsCone終点

  • 環境変数
    * API_ENDPOINT=<API Endpoint ex: /api>
    * SERVER_ROUTE=<Inital route of server after domain name. ex: /app>
    * CLIENT_URL=<Client URL ex: http://localhost:3000>
    * MONGO_URI=<MongoDB URI>
    * JWT_SECRET=<Random String for JWT Secret>
    * SENDGRID_API_KEY=<Sengrid API Key>
    * SENDGRID_FROM_EMAIL=<Email of the sender>
    * GOOGLE_CLIENT_ID=<Google Client ID>
    * GOOGLE_CLIENT_SECRET=<Google Client Secret>
    

    モデル
  • EmailVerificationToken.model.js :電子メール確認トークンモデル
  • User.model.js :ユーザモデル

  • ミドルウェア
    我々は以下のミドルウェアを必要とする.
  • jwt.js :ハンドルJWTトークン
  • validate.js :ハンドル電子メール、ユーザー名、パスワード確認
  • authenticated.js :認証
  • を処理します

    コントローラ
  • auth.js :ハンドルのすべての認証要求
  • user.js :すべてのユーザ関連の要求
  • を取り扱います
  • subscriptions.js :ハンドルすべての購読(Googleアカウント)関連の要求
  • spreadsheets.js :すべてのスプレッドシート関連の要求を処理します.