Skip to content
コラボレーションツールを利用して開発する実験です。
JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
db
lib
log
pages
static/img
.babelrc
.editorconfig
.env
.eslintrc
.gitignore
LICENSE.txt
README.md
docker-compose.yml
next.config.js
nodemon.json
package-lock.json
package.json
server.js

README.md

Game Users Banner

node npm MongoDB David license

Game Users を Node.js に書き換えたい!

Cloud9(IDE) を VPS 上に設定して、ブラウザさえあれば、みんなで開発できる環境を作ってみました。

開発中のウェブサイト(リアルタイムでコードが反映されます)

ゲストアカウント

  • アカウントID:956477059000
  • ユーザー名(どちらか):guest-1, guest-2
  • パスワード:Password12345

ゲストアカウントでログインすると以下のページが見れるようになります。管理者がいないときは、ゲストアカウントは Read Only になっています。

※ ログアウトするときはブラウザを閉じるだけでOKです。ゴミ箱マークは押さないようにしてください。

マスターアカウント

プログラマーやデザイナーの方、または HTML & CSS が理解できる方にはマスターアカウントのログイン情報を、IDE のチャット欄で提供しています。マスターアカウントを利用したい方はいつでも言ってください。

マスターアカウント(master-1~5)でログインできる方は、以下の Cloud9 環境も利用できます。

※ 2019/2/23 現在停止中です。

1. インストール

まずこちらのリポジトリから任意の場所にファイルを Clone(ダウンロード) してください。 そしてターミナルを開き、cd コマンドでファイルが置かれている場所に移動してから、npm を利用してパッケージをインストールしてください。

npm install

2. 環境変数の設定

パッケージのインストールが終わったら、.env(環境変数を設定する) ファイルを開いて、URL_BASE と URL_API と書かれている部分を、開発環境でアクセスする URL に書き換えて保存してください。

# URL
URL_BASE=http://dev-1.gameusers.org:8080/
URL_API=http://dev-1.gameusers.org:8080/api

デフォルトでは上記の値に設定されていますが、例えば localhost でアクセスする場合は、以下のように変更してください。

# URL
URL_BASE=http://localhost:8080/
URL_API=http://localhost:8080/api

3. データベース

次にデータベースの設定を行います。こちらの開発では MongoDB Ver.4 を利用しています。開発環境にインストールされていない場合、まずインストールを行ってください。MongoDB のトランザクション機能を利用するため、レプリカセット(複数のデータベースを立ち上げて繋げることで安定性を確保する機能)を構築しています。

参考サイト

  1. db/server1
  2. db/server2
  3. db/server3

こちらのディレクトリ内にデータとログが保存されるようになっています。レプリカセットの構築方法を簡単に解説しますが、環境によって変更が必要な箇所がある場合は、置き換えて読んでみてください。

1: ターミナルを3つ開き、各行のコマンドで MongoDB を3つ起動します。これは db/server 内に設置してあるコンフィグファイルを読み込んで、データベースを起動する方法です。

ターミナル 1
mongod --config "db/server1/mongod.server1.cfg"

ターミナル 2
mongod --config "db/server2/mongod.server2.cfg"

ターミナル 3
mongod --config "db/server3/mongod.server3.cfg"

2: 4つ目のターミナルを開き、Server1 にログインします。

mongod --host 127.0.0.1:27017

3: レプリカセットを初期化

rsconf = {
  _id : "rs0",
  members: [
    { _id: 0, host: "127.0.0.1:27017" },
    { _id: 1, host: "127.0.0.1:27018" },
    { _id: 2, host: "127.0.0.1:27019" },
  ]
}
rs.initiate(rsconf)

上記のとおりにコマンドを入力するとレプリカセットの設定が完了し、MongoDB でトランザクションが扱えるようになります。上記入力後は4つ目のターミナルから抜けてもらって構いません。

4. 起動する

次に再度新しくターミナルを開き、以下のコマンドを入力してください。

npm run dev

特に問題が起きなければ、アプリケーションが起動します。

5. データベースに初期データを挿入する

データベースの中身は容量の関係上、GitHub 上には掲載されておらず、空のディレクトリと設定ファイルのみになっていますが、以下のページにアクセスすることで簡単に初期データが挿入できるようになっています。

http://(.env で設定したトップページのアドレス)/initialize

「データベース - データ挿入」と書かれたボタンがありますので、押してください。gameusers というデータベースに初期コレクションが挿入されます。

上記ページには、開発している主要なページのリンクも貼られています。

6. mongo-express

データベースの中身を視覚的に把握できる GUI ツールも入っています。

http://(.env で設定したトップページのアドレス [ポート番号だけ変更]):8081/

上記アドレスにアクセスすると、Basic 認証が起動します。「ユーザー名:admin」「パスワード:pass」でログインしてください。データベースの構成などを確認する場合に利用すると便利です。

詳しくは mongo-express を確認してください。

7. ログイン情報

データベースにデータを挿入すると、ログインできるユーザーが追加されます。ログインが必要なページにアクセスしたい場合は、以下の情報をログインページで入力してください。

  1. ログインID:8OM0dhDak パスワード:8OM0dhDak0
  2. ログインID:enPLLYBBEg3y パスワード:enPLLYBBEg3y0
  3. ログインID:nzPR7R9GO パスワード:nzPR7R9GO0

ライセンス

Game Users プロジェクトに帰属します。

開発について

ここで開発について解説していますので、よければチェックしてみてください。

https://gameusers.org/dev/blog/live/

You can’t perform that action at this time.