まず第一に、IDEOXAN開発者チームは、私たちのプロジェクトとコミュニティに貢献するために時間を割いてくれてありがとう!
このドキュメントには、IDEOXANプロジェクトに貢献するために必要なすべての情報が含まれています。ご質問がある場合は、[email protected]までご連絡ください。
このプロジェクトは、プロジェクトの公式行動規範に従って維持および管理されています。 IDEOXANの公式利用規約、IDEOXANのプライバシーポリシー、および含まれるライセンス(MIT)とともに、その契約条件への合意は、この組織のプロジェクトに貢献する必要があります。
node.jsランタイムは、バックエンドサーバーを実行するために必要です(Webサイトにサービスを提供しています)。 10.x以上のバージョンがサポートされています。ノード13.x使用することをお勧めします。 NPMも必要ですが、通常はnode.jsでインストールされています。 node.jsバージョンを実行して確認できます
node -vGit CLIは、リポジトリからコードをダウンロードする必要があります。
JSのES6仕様をサポートする最新のブラウザは、WebサイトChrome/Chromium、Firefox、およびSafariが行う表示するために必要です。
MongoDBはWebサイトを実行するのに100%必要ではありませんが、とにかくログインとユーザーの検証を使用できるようにインストールすることをお勧めします。 Mongodbをインストールするには、ドキュメントガイドを参照してください。サーバーがlocalhostまたは環境変数のローカルまたはシステムリストで指定された別の場所で実行されていることを確認してください
以下を使用してリポジトリをダウンロードし、必要なパッケージをインストールします。
git clone https://github.com/ideoxan/ideoxan.git
cd ideoxan
npm installサーバーは、システム全体とローカルの環境変数の両方を使用してサポートします。システム全体の環境変数を設定できない場合は、メインIDEOXANディレクトリに.envファイルを作成します。ノード環境がproductionに設定されていないことを確認してください。そうしないと、環境変数はローカルで使用されません。以下は、使用されている環境変数のリストです。それらのいずれかが矛盾している場合は、お知らせください。
MONGO_URI
EXPRESS_SESSION_SECRET
PWD_HASH MONGO_URI環境変数は、MongoDBデータベースのURIを設定するために使用されます。このURIは有効なモンゴリの弦でなければなりません。デフォルトはmongodb://localhost:27017/ixです
EXPRESS_SESSION_SECRET環境変数は、そのサーバーで認証されたすべてのセッションが使用する秘密です。これを使用してセッションを無効化、修正、スプーフィングするために使用できるため、これを安全で安全に保つことが最善です(これは良くありません)。これをできるだけ長く複雑にしてください。セキュリティ上の理由によりデフォルトはありません。
PWD_HASH環境変数は、BCRYPTJSモジュール内のパスワードをハッシュするために使用される整数値です。パスワードが安全であるが、サーバーが遅くなることがないほど十分に低い場合、数字を十分に高く保ちます。繰り返しますが、セキュリティ上の理由から、デフォルト値はありません。
コースやレッスンに貢献したい場合は、 curriculum-の接頭辞を備えた他のGitHubリポジトリをご覧ください。すべてのカリキュラムガイドはGitHubに保持され(すべてが公開されているわけではありません)、 /static/curriculumの下にサーバーサイドが保存されており、Static Expressディレクトリ( /static )の下でクライアント側から要求されます。カリキュラムは、編集者、ウェブサイト、またはその内容には含まれていません。 GITでは、これらのコースはサブモジュールとして含まれており、以下を使用してカリキュラムディレクトリの下にインストールできます。
git submodule init
git submodule update --recursiveこれにより、公開されているすべてのコースをクローン、フェッチ、およびプルします。 Gitサブモジュールとそれらの動作について詳しく知りたい場合は、ここをクリックしてください。
使用される2つの主要なブランチがあります: masterとprod 。 prodブランチは、生産と展開のために送信されるものです。必要に応じてこのブランチのみを頻繁に更新しようとします(ホットフィックスのマージが遅くなります)。 masterブランチは、新しいコミットの大部分が行く場所です。これは新鮮な毎晩のビルドシステムと考えてください。このブランチには最新のコードがありますが、それが最も安定しているという意味ではありません。長期的にこれを使用する予定で、20分ごとに更新する気がない場合は、 prod Branchを使用することをお勧めします。
サーバーを実行するには3つのオプションがあります。
開発者モードは、開発マシンでサーバーを実行するコマンドです。これにより、簡単に編集してクイックサーバーの起動が可能になります。 Nodemonパッケージに依存しているため、 package.jsonファイルに概説されている開発者依存関係がNPMを介してインストールされていることを確認してください。
サーバーをローカルに実行するには:
npm run dev追加機能なしでサーバーを起動するには、実行してください。
npm run startこれにより、含まれているサブモジュールを自動的に更新してから、サーバーを起動します。または、サーバーは、通常のnode.jsプロジェクトと同じように起動できます。
node server.jsこのオプションはIDEOXANが使用する特定のサーバーに合わせて個人的に調整されているため、この方法は使用されることは推奨されません。
これには、PM2をグローバルにインストールする必要があります。
npm run serverそれが機能しない場合:
pm2 start server.js --name ideoxan --max-memory-restart 500M --watch --cron " 0 2 * * * " 何よりもまず、問題がセキュリティに関連するものであると思われる場合は、問題を開かないでください。バグを電子メールで直接報告してください
あなたが報告している問題は、通常、セキュリティの問題です...
上記のいずれかを経験した場合、これはおそらくセキュリティリスクの可能性の結果であり、報告する必要があります。報告を怠ると、私たちに代わって法的措置が起こる可能性があります。
あなたの問題が上記を満たさず、それでもそれがセキュリティ関連の問題であると信じていても、私たちにメールを送ることをheしないでください。申し訳なくするよりも安全である方が良いです。
次のことを確認して、問題を開くようにクリアされていることを確認してください。
問題がnode.jsランタイム、ideoxanによってカバー/維持されていないパッケージ/ソフトウェアなどに関係している場合、これは問題を提出する適切な場所ではありません。適切なバグトラッカーまたはトラブルシューティングガイドに向けられるのを支援する必要がある場合は、お気軽にお問い合わせください。 (お問い合わせください)
ソースのいずれかを変更した場合、問題が改ざんによって引き起こされた可能性が高くなります。コードを返す後も問題が続く場合は、問題を開きます。
古いソフトウェアはサポートしていません。 masterブランチのpackage.json / package-lock.jsonと、寄稿ガイドの前提条件のセクションで指定されたバージョンに対してバージョンを確認してください。
問題がすでに報告されており、GitHubでまだ開いている場合は、新しい問題を開くのではなく、問題をコメントしてください。まだ開いていない場合は、そのステータスを確認してください。問題にwont-fixタグがある場合は、顕著な問題と見なされ、かなりの時間が経過していない限り、もう一度持ち上げないでください。また、解決策があるかどうかを確認してください。問題が無効であるとマークされたり、解決策に到達したためではなく、活動の不足のために問題が閉じられることもあります。これが事実であることがわかった場合は、問題を再開するようにお気軽にお問い合わせください。
セキュリティに関連する場合は、セキュリティの問題の報告を参照してください。
上記に従って要件を満たした場合、問題を開くことができます。記述タイトルを使用して、問題を明確に説明してください。必ずバグレポートテンプレートに従ってください(強く提案されています)。問題を適切に説明できない場合、問題は説明なしに閉鎖されます。
コードベースに貢献している場合(ドキュメントは含まれていません)、必ず標準に従ってください。
解決できる問題がすでに開いているかどうかを確認してください。そうでない場合は、プルリクエストがマージしようとしているものをまだカバーしていないことを確認してください。
上記を確信している場合は、PRテンプレートを使用してプルリクエストを開きます
Ideoxanが新しい機能を追加したり、既存の機能を拡張したりすることを提案している場合は、機能要求テンプレートを使用して問題を開きます
近日公開
上記に会わない質問や懸念がある場合は、お気軽にご連絡ください(お問い合わせください)
このリポジトリは、互換性、均一性、全体的な読みやすさを可能にするよう努めています。このプロジェクトのソースに貢献しようとしている場合は、以下を読むことをお勧めします。
近日公開
| ラベル | 説明 | 検索 |
|---|---|---|
| 重要なバグ | ウェブサイトを完全に役に立たないバグで、基本的な操作/管理に不可欠です | ? |
| バグ(中) | サイトおよび/またはそのユーザーのかなりの部分に影響を与える中程度の重大度のバグ。 | ? |
| バグ(ロー) | サイトやそのユーザーにほとんど影響を与えない優先度の低いバグ | ? |
| ラベル | 説明 | 検索 |
|---|---|---|
| 重複 | 以前の、閉じた(解決された)問題、オープン(保留中)問題、またはクローズドプルリクエストの複製である問題 | ? |
| 修正しません | 解決できないプロジェクトまたは問題と関係のない問題 | ? |
| 無効 | プロジェクトに有病率がない、または再現できない問題 | ? |
| 質問 | 質問が有効であるためには、より多くの情報を提供する必要があります | ? |
| ラベル | 説明 | 検索 |
|---|---|---|
| Webサイト | ウェブサイト関連の問題 | ? |
| サーバ | サーバー関連の問題 | ? |
| ドキュメント | サイト、サーバー、またはAPIのドキュメントに関連する問題 | ? |
| 他の | ウェブサイト、サーバー、ドキュメントのいずれにも扱わない問題 | ? |
| 強化 | 検討中の新機能の提案またはすでに存在するものの改善 | ? |
| ラベル | 説明 | 検索 |
|---|---|---|
| 従業員求む | 外部レビューまたは貢献が必要な問題またはプル要求に与えられたタグ。通常、問題はメンテナーの知識の範囲外であるか、最優先事項ではないかのいずれかです。 | ? |
| 良い最初の問題 | あなたがこの辺りで新しい場合、これは始めるのに最適な場所です!これは、積極的な問題であるか、新人が取り組むための問題の良い例です。 | ? |
手を差し伸べる必要がある場合は、以下の次のリンクまでお問い合わせください
将来、より多くのプラットフォームが追加されます。