GithubHelp home page GithubHelp logo

game_station's Introduction

game_station

online game chat rooms.

game_station's People

Contributors

rintaronakamura avatar

Watchers

James Cloos avatar  avatar

game_station's Issues

ユーザ登録機能の実装

概要

ユーザ登録機能を実装する。

受け入れ条件

  • twitter認証でサインアップ/ログインができる
  • ログアウトができる

メンバー退会機能

概要

クラブからメンバーを退会させるための機能を実装する。

受け入れ条件

  • オーナは自身がオーナとなっているクラブに参加するユーザ、つまり、メンバーを退会させることができる
  • 退会させられたメンバーは、退会元のクラブのメンバー一覧から除外される

招待URLの使用済み判定をなくす

概要

現状、招待URLには次の2つの有効期限が存在するが、うち「1回まで使用可能」という制限をなくす。discordアプリの招待URLを参考に。

  • 1回まで使用可能
  • 招待URLの発行から24時間以上が経過している

受け入れ条件

  • 同じ招待URLを使って2回以上、game_stationに参加できること

Hotwireの導入

概要

受け入れ条件

  • 今まで通りアプリが動作すること

備考

クラブ招待機能の実装

概要

受け入れ条件

  • クラブのオーナーは招待用URLを発行できる
  • 招待用URLの共有方法
    • 招待用URLをコピぺで共有してもうら
  • 招待用URLをクリックするとクラブ参加画面が表示される
    • 「参加する」ボタンを押すと、クラブの詳細画面へ遷移する
    • ユーザ未登録の場合、twitter認証で登録してからクラブの詳細画面へ遷移させる

備考

  • 招待URLの共有方法
    • game_station内にメール機能実装
    • コピペで共有してもらう
    • twitterのDM
  • 招待するユーザは2パターン存在する
    • game_stationに登録済み
    • game_stationに未登録

仕様

  1. 招待URLをクリックする
  2. 招待画面へ遷移する
  3. 「参加する」ボタンが押されたらclub_usersテーブルにcurrent_user.idと招待先クラブIDでレコードを登録する

招待URL発行時に、
invitationsテーブルにレコードを登録する。ID, トークン, 利用状況, 招待先クラブID 作成日時, 更新日時

hotwireがうまく導入できていなかったため、turbo frameが動作せず苦労した

既存アプリにHotwireの導入を試みたんだが、js関連のコード達を適切に削除出来なかったせいか、turbo frameが期待通りに動作しない😢
これは作り直した方が早いな、、、

— residenti (@v_residenti) September 30, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

クラブ登録機能の実装

概要

受け入れ条件

  • グループを作成したユーザがそのグループのオーナーとなる
  • グループ名を1文字以上50文字以内で入力できる
  • カバー写真を選択できる <- 別issueを作成してそっちで対応する
  • グループの説明を500文字以内で入力できる

イメージ
スクリーンショット 2021-09-26 11 18 03

備考

チャット機能の実装

概要

受け入れ条件

  • テキストメッセージを送信できること
  • リアルタイムでメッセージを受信できること

備考

操作を行うのに適したユーザであることを認可する

概要

表題の通り。
例えば、クラブの編集はそのクラブのオーナーのみが行えるものなので、それ以外のユーザがClubController#editClubController#updateの処理を完遂できてしまうのは致命的なバグである。
そのため、これらのアクションが呼び出された時に、呼び出したユーザが適切な権限を持ち合わせているかをチェックする必要がある。

受け入れ条件

備考

https://github.com/varvet/pundit で実現する。

クラブ詳細画面の実装

概要

クラブ詳細画面を実装する

受け入れ条件

  • クラブ名
  • クラブの説明
  • クラブに参加しているユーザ一覧
    • オーナー
    • メンバー一覧

備考

ユーザ詳細画面の実装

概要

クラブ詳細画面を実装する

受け入れ条件

  • ユーザ名
  • アイコン
  • ニックネーム
  • 参加しているクラブ一覧

備考

クラブ編集機能の実装

概要

表題の通り。

受け入れ条件

  • 自身がオーナのクラブ詳細ページを開くと、編集リンクが表示される
  • クラブ名を変更できる
  • クラブ説明を変更できる

備考

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.