Next.jsおよびMongoDB Webアプリケーション。学習のためのシンプルさと現実世界の適用性を念頭に置いて設計されています。
デモをご覧ください
?かさばらず、速くて軽い、ゆっくりとExpress.js。
完全なAPIルートの実装と?サーバーレスの準備
?エクスプレスエコシステムと互換性がある、次のコネクトを搭載した、古き良き中型パターン
?キス:GraphQL、SASS、REDUXなどの派手なものはありません。
? MongoDB以外のデータベースに適合させることができます(API-LIB/DBを更新するだけです)
あなたに興味のある機能があり、問題を抱えてください。機能に取り組み、PRを作成したい。
このプロジェクトには、次の投稿が伴います。
また、dev.toでそれらをチェックしてください。
このプロジェクトは安全であると書かれていますが、そのシンプルさは、繊細なプロダクションでの使用のために慎重な考慮事項を必要とします。セキュリティの問題を見つけた場合、問題を提出してください。
このプロジェクトでは、次の依存関係を使用しています。
next.js -v9.3以上APIルートと新しい新しいデータフェッチング方法に必要です。react -V16.8以上は、 Reactフックに必要です。react-dom -v16.8以上。swr州の管理に必要な場合、 react-queryに置き換えることができますmongodb mongooseに置き換えることができます。passport 、 passport-local - 認証に必要です。next-connect -Express/Connectミドルウェアとより簡単なメソッドルーティングを使用する場合は推奨されます。connect-mongoのnext-session 、 cookie-session 、 next-iron-session 、 express-session Sessionなどの他のセッションライブラリに置き換えることができます( express-session next.js 11+で適切に動作しないことが観察されます)。bcryptjsオプションは、パスワードハッシュライブラリに置き換えることができます。 argon2がお勧めします。validator電子メールを検証するために、オプションですが推奨されます。ajvオプションですが、要求本体を検証するために推奨されます。multer multipart/form-dataを処理するミドルウェアに置き換えることができますcloudinaryオプション、画像アップロードにCludinaryを使用している場合のみ。nodemailerオプション、電子メールに使用する場合のみ。代わりに、Mailgun、AWS SESなどのようなサードパーティサービスを使用することをお勧めします。このプロジェクトの環境変数は次のとおりです。
MONGODB_URI mongodb接続文字列(資格情報とデータベース名を含む)WEB_URI WebアプリのURL 。CLOUDINARY_URL (オプション、Cloudinaryのみ)構成のCloudinary Environment変数。これを参照してください。NODEMAILER_CONFIG (オプション、nodemailerのみを使用する場合)json stringified nodemailer config。例えば。 {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}}yarn devまたはnpm run devを実行して、開発サーバーを開始します。上記の変数を備えた.env.localファイルを作成することから始めます。環境変数を参照してください。
このプロジェクトは、next.jsのどこにでも展開できます。クラウド/ホスティングプロバイダーが提供するオプションを使用して、必ず環境変数を設定してください。
npm run buildを使用して構築した後、 npm run startを使用してサーバーを開始するだけです。
また、正しいセットアップを考慮して、サーバーレスプロバイダーでこれを展開することもできます。
私の寄稿者をご覧ください。md。
mit