Giter Site home page Giter Site logo

frost-dev / frost-web Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 4.0 552 KB

:snowflake::cherry_blossom: Frost Official WebApp(& OAuth2 Authorization Server) (No longer maintained)

License: MIT License

HTML 45.55% JavaScript 48.51% SCSS 3.36% Pug 2.58%
community social-media nodejs application-server riotjs websocket

frost-web's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frost-web's Issues

サードパーティアプリの連携画面

これが実装できれば、サードパーティアプリが連携を経てAPIを叩けるようになる

関連APIエンドポイント

POST ice_auth/target_user
GET ice_auth/verification_code

SNSのコンセプト

ほかのサービスに無いような特徴を持たせたい。
案などあればください

  • 投稿内容内の命令等によって音楽が流れたり

クライアントサイドがAPIアクセスをするための汎用エンドポイントをサーバーサイドに用意することへの検討

概要

 例えば、普通クライアントは投稿情報を取得したいときには、APIの GET /posts/:id エンドポイントに各種キー(ApplicationKey、AccessKey)を付加してリクエストする必要があります。

 しかし、Frost-WebはIceAuth関係など特殊な権限を持ったアプリケーションであるためにクライアントサイドには各種キーを公開せず、サーバーサイドのセッションにAccessKeyを保持し間接的にAPIを利用します。
 そのため、クライアントサイドからは直接的にはAPIアクセスができず、なにかAPIアクセスを伴う操作を行いたい時には常にエンドポイントをサーバーサイドに作成していく必要が出てきます。

 APIのエンドポイントと対応するエンドポイントをすべて用意するのは正直効率が良いと思わないので、ある程度汎用的に利用できるクライアントサイド向けのAPIアクセス用エンドポイントを用意しようと考えています。

注釈

サーバーサイド: Frost-WebのWebサーバ側の環境
クライアントサイド: Webサーバーから提供されたリソースを実行するブラウザ側の環境

APIアクセスのための汎用エンドポイントの仕様

  • サーバーサイドのセッションを利用
  • ホワイトリストで利用できるAPIのエンドポイント名を追加していくことによって、特殊なAPIはそこからは利用できないようにする

よければ意見ください。

readyイベントの発行されたタイミングによって、それをクライアントが拾えないことがある

改善案

  • readyイベントを廃止して、api接続後にフロント-Web間のWebSocketのrequestをacceptするように修正する(難しそう)
  • readyイベントを一定間隔で発行して、フロントが無事受け取ったタイミングで「ready発行停止イベント」をフロントが発行する

どちらかの実装をしていく必要がある。理想は前者

i18n

英語と日本語で表示できるといいですね
やり方を考えていく必要がある

フロントのSPA化に関する課題

現状

  • フロントをSPA化したい
    • スタンドアロンに近づいていくのでページレンダリング時やその他のほとんどのapiアクセスがwebサーバを通さずに直接フロント上で行っていく必要があるだろう
  • フロントがappkey/accessKeyの代わりにセッションを介してapiを呼び出している(streamingProxy)ので、余計なサーバリソースが必要になっている

今後

  • SPA化 #36
  • StreamingProxyを廃止して直接apiリクエストさせるようにする #37
  • 内部APIはストリーミング上から呼び出せるように(特殊権限を必要とする操作にはreCAPTCHAトークンを要求) #18

riotに関する参考ページ、知見の共有等

ちぃ覚えた。

yield+Tagのネストで継承っぽい書き方をするときのメンバ追加

親側にメンバ(メソッドとか)を追加して、yieldに渡す内容にparent.(親側メンバ名)でアクセスする。
refを張れって、親からメンバを追加・アクセスしても良さそう
https://173210.github.io/riot#tagparent

onclickイベントの引数を上書き

引数を1つも与えないようにするときなどに利用
https://murakamikoji.com/riot-onclick-arguments/

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.