https://github.com/cutls/deretest
デレマスクイズをするためだけに作成された謎のWebアプリケーション
https://github.com/cutls/deretest
Last synced: 9 days ago
JSON representation
デレマスクイズをするためだけに作成された謎のWebアプリケーション
- Host: GitHub
- URL: https://github.com/cutls/deretest
- Owner: cutls
- License: mit
- Created: 2021-10-13T13:51:51.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-09T14:10:23.000Z (over 4 years ago)
- Last Synced: 2025-02-22T23:42:20.016Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://cutls-deretest.netlify.app/
- Size: 243 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# deretest
デレマスクイズを作りたかったので、そういうツール
AWSの各サービスの利用が前提で、作成者は静的ファイルを置くためにNetlifyを利用しています。
[](https://app.netlify.com/sites/cutls-deretest/deploys)
## router
* `/`: トップページ
テキストボックスにIDを入れてクイズのホーム画面へ
* `/q/:id`: クイズのホーム画面
* `/make`: クイズの作成画面
後述の「どうでもいいパスフレーズ」で保護されています
## config
proccess.env(または.env)にENV=(config JSON)を入力
.env.sample参照
config JSON
```
{
"uploader": "uploader APIのendpoint",
"get": "get APIのendpoint",
"post": "post APIのendpoint",
"auth": "簡易パスワード",
"cdn": "CDNのエンドポイント"
}
```
これを1行にminifyして環境変数または.envに記入します。
## API
各APIは全てLambdaで組むことを想定しています。(lambda-sample参照)
これらを全て別々の関数として登録し、API Gatewayで認証のないHTTP APIを作製して、URLをconfigに書きます。
(例: https://xxxxxxxxxx.execute-api.ap-northeast-n.amazonaws.com/default/deretest-lambda-sample-upload)
(最低でもuploaderの)実行ロールがS3にアクセスできるようにしてください。
### 「どうでもいいパスフレーズ」について
アップロードイベントが発火するときにフロントがpromptを出して入力させるので、
パスフレーズを入力しないとアップロード(問題作成)ができないようになっています。
## DB
DynamoDBでidをパーティションキー(文字列)にしたテーブルを作って、Lambdaの「DYNAMODB-TABLE-NAME」をテーブル名で埋めます。
## S3
バケットを作り、バケット名をLambdaの「YOUR BUCKET NAME」に入れます。
### 権限とCDN
CloudFront CDNを使用する場合、最低でもCloudFrontで読み込める権限にする必要があります。
そうでない場合は全公開にする必要があります。
`https://cdn.example.com/garage/`以下に置かれる画像にアクセスできるようにconfigのcdnのエンドポイントを`https://cdn.example.com/garage/`と記入します。
## ビルドと開発
開発: `yarn serve`
ビルド: `yarn build`
dist以下にビルドされます。dist以下を静的ファイルとして配置するとアクセスできます。
以下のボタンを押すとforkまでやってNetlifyに展開できますが、環境変数を自分で設定して再ビルドする必要があります。
[](https://app.netlify.com/start/deploy?repository=https://github.com/cutls/deretest)