We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
恋人探しアンケートは次の3つのアプリケーションによって構成する.
Backend - Matching間のやりとりはファイルまたはDBを用いて行う. どちらを使用するかは,開発難度の低いほうを使う.
+----------+ Enquete Result +---------+ Enquete Result Enquete Result +----------+ | | ---------------------> | | ----------------> ----------------> | | | Frontend | | Backend | [ File/DB ] | Matching | | | <--------------------- | | <---------------- <---------------- | | +----------+ View/Matching Result +---------+ Matching Result Matching Result +----------+
タイトル,説明,注意事項を表示する. 締め切り時間前はアンケート画面に, 締め切り時間後はマッチング結果画面に遷移するボタンを設置する.
注意事項の内容は, ユーザーの識別にCookieを使用していること, そのためCookieを削除,無効化などされると正常に動作しないこと を含める.
アンケートを表示する. アンケートの内容は,
文言は堅苦しくならないようにする.
アンケートの送信が完了した旨を表示する. また,結果発表の時刻を表示する.
マッチング結果を表示する.
フレームワークはVue.jsを使用する. セッション管理にはCookieを使用する.
id
string
name
gender
number
age
partnerId
string or null
null
""
partnerGender
partnerMinAge
partnerMaxAge
answers
number[]
Example:
{ "id": "1b740d58-fbbc-4815-b12a-c5c9c7b17bb5", "name": "ほげ ふが太郎", "gender": 1, "age": 18, "partnerId": "", "partnerGender": 2, "partnerMinAge": 16, "partnerMaxAge": 24, "answers": [1, 3, 2, 5, 4, 2, 1, 5, 3, 5, 2] }
/配下はFrontendのページを返すようにする. ただし,/api配下はBackendで処理する.
/
/api
アンケートの送信先. 受け付けるリクエストボディはjsonでUserモデルからidプロパティを抜いたもの. 受け取ったアンケート結果のバリデーションが通れば,ファイルまたはDBに保存する.
Example: Request
POST /api/enquete HTTP/1.1 Content-Type: application/json { "name": "ほげ ふが太郎", "gender": 1, "age": 18, "partnerGender": 2, "partnerMinAge": 16, "partnerMaxAge": 24, "answers": [1, 3, 2, 5, 4, 2, 1, 5, 3, 5, 2] }
Response 成功時
HTTP/1.1 201 Created
リクエストがおかしい時(リクエストボディが無い,要素が欠けているなど)
HTTP/1.1 400 Bad Request
サーバー側でエラーが発生した時
HTTP/1.1 500 Internal Server Error
マッチング結果を返す. 締め切り時間前のアクセスには403を返す. 返すのは,マッチング相手の名前. いない場合は,404を返す.
GET /api/result HTTP/1.1 Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json { "partnerName": "ほげ ふが子" }
マッチング相手がいない時
HTTP/1.1 404 Not Found Content-Type: application/json
締め切り時間前にアクセスされた時
HTTP/1.1 403 Forbidden
フレームワークはExpress.jsを使用する. セッション管理にはexpress-sessionを使用する.
アンケート結果のうち回答をベクトルとして保持する.
すべてのアンケートにforeachで以下の処理を行う.
The text was updated successfully, but these errors were encountered:
疑問,質問,ツッコミなどお待ちしてます.
Sorry, something went wrong.
LaFr4nc3
No branches or pull requests
恋人探しアンケートは次の3つのアプリケーションによって構成する.
Backend - Matching間のやりとりはファイルまたはDBを用いて行う.
どちらを使用するかは,開発難度の低いほうを使う.
Frontendの仕様
ページ構成
/ トップ画面
タイトル,説明,注意事項を表示する.
締め切り時間前はアンケート画面に,
締め切り時間後はマッチング結果画面に遷移するボタンを設置する.
注意事項の内容は,
ユーザーの識別にCookieを使用していること,
そのためCookieを削除,無効化などされると正常に動作しないこと
を含める.
/enquete アンケート画面
アンケートを表示する.
アンケートの内容は,
とする.
文言は堅苦しくならないようにする.
/enquete/finish 回答完了画面
アンケートの送信が完了した旨を表示する.
また,結果発表の時刻を表示する.
/result マッチング結果画面
マッチング結果を表示する.
技術要件
フレームワークはVue.jsを使用する.
セッション管理にはCookieを使用する.
Backendの仕様
モデル仕様
User
id
string
name
string
gender
number
age
number
partnerId
string or null
null
マッチング相手がいなかったら""
partnerGender
number
partnerMinAge
number
partnerMaxAge
number
answers
number[]
Example:
URL仕様
/
配下はFrontendのページを返すようにする.ただし,
/api
配下はBackendで処理する.API仕様
POST /api/enquete
アンケートの送信先.
受け付けるリクエストボディはjsonでUserモデルから
id
プロパティを抜いたもの.受け取ったアンケート結果のバリデーションが通れば,ファイルまたはDBに保存する.
Example:
Request
Response
成功時
HTTP/1.1 201 Created
リクエストがおかしい時(リクエストボディが無い,要素が欠けているなど)
HTTP/1.1 400 Bad Request
サーバー側でエラーが発生した時
HTTP/1.1 500 Internal Server Error
GET /api/result
マッチング結果を返す.
締め切り時間前のアクセスには403を返す.
返すのは,マッチング相手の名前.
いない場合は,404を返す.
Example:
Request
Response
成功時
マッチング相手がいない時
締め切り時間前にアクセスされた時
HTTP/1.1 403 Forbidden
サーバー側でエラーが発生した時
HTTP/1.1 500 Internal Server Error
技術要件
フレームワークはExpress.jsを使用する.
セッション管理にはexpress-sessionを使用する.
Matchingの仕様
Matching処理
アンケート結果のうち回答をベクトルとして保持する.
すべてのアンケートにforeachで以下の処理を行う.
partnerGender
と一致するgender
を持ち,かつ,
partnerMinAge
からpartnerMaxAge
の範囲に収まるage
を持つアンケートを探す.id
をpartnerId
に保存する.id
をマッチング済みとして保存する.The text was updated successfully, but these errors were encountered: