Giter Site home page Giter Site logo

shotaide / tweettheater Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 528 KB

Twitterに投稿された動画をクリック無しに自動再生していくWebアプリ

Home Page: https://tweet-theater.web.app/

Python 26.29% HTML 1.90% CSS 1.09% TypeScript 70.72%

tweettheater's People

Contributors

shotaide avatar

Watchers

 avatar  avatar

tweettheater's Issues

スマホ対応

スマホ用のレイアウトを作ることで、スマホでも利用可能にする

  • ブラウザーの設定で自動再生をオフにできないか
  • PC版のレイアウトが崩れてしまった
  • PC版でツイート一覧ボタンは非表示にする
  • ロゴの高さが揃っていない
  • ロゴを白黒に変更
  • Pixel4でタイトルが折り返してしまう
  • ツイート一覧で一番上までスクロールできるようにしたい
  • ツイート一覧で右スクロールできる
  • 全画面に表示されるのを防ぐ

メモ

  • スマホ・タブレット縦では2画面構成にする
    • 動画再生画面、ツイートリスト画面
    • 戻るためのナビゲーションボタンが必要
    • 2画面にした際もツイートリスト画面で動画再生が途切れないようにする

サインイン画面の説明を拡充する

  • 開発環境で確認
  • 本番環境のOptimizeを開始
  • 本番環境を準備
  • 本番環境のシークレットを追加
  • 検索結果の取得以外に利用しないことを明記し、使う際の心理的ハードルを下げる
  • Optimizeが無効になった際の処理

検索一覧の結果の見直し

Twitterに直接動画を投稿しているツイートも取得できていない気がするので、取得APIの生成を見直し、取得できるようにしたい

CORS設定を狭める

現状全てのオリジンからのアクセスを許可しているので、必要最小限に狭める

クライアント側のエラーを解消する

開発モードでエラーが出ているため、開発効率向上のため修正する

  • メニューを開いたとき
  • スナックバーが表示されたとき
  • ツイート一覧が開いたとき

一覧に通し番号を追加

カードをクリックしてタイトルを見ないと何曲目かが分からないため、一覧のカードに通し番号を追加する

DBインスタンスが不要になるように構成を変更する

DBでユーザーの秘匿情報を管理せずCookieで管理することで、運用費を抑える

  • DjangoでCookieをセットする
  • 既存ユーザーの取り扱い
  • Cookieの期限はどのように設定すればいいか
  • 開発環境と本番環境のDBをローカルファイルのJsonに切り替え
  • 開発環境で、DB.jsonファイルを生成し自動デプロイに組み込む
  • 開発環境で、DJANGO_DATABASE_* の3つの環境変数を自動デプロイ環境から削除する
  • 本番環境で、DB.jsonファイルを生成し自動デプロイに組み込む
  • 本番環境で、DJANGO_DATABASE_* の3つの環境変数を自動デプロイ環境から削除する

Safariでも実現する方法を模索

  • Cookieを利用する際に変更したCORS関連の設定をリバート
  • 開発環境で、暗号化キーの環境変数を自動デプロイに組み込む
  • 本番環境で、暗号化キーの環境変数を自動デプロイに組み込む

データ抽出のSQL

select uid, access_token, secret from api_usercredential;

MySQLから抽出したCSVファイルのJson変換のための置換表現

^([0-9a-z]{28}),([0-9a-z-]{50}),([0-9a-z]{45})$
"$1":{"token":"$2","secret":"$3"},

パターン

  • user/create
    • 暗号化されたアクセストークン・シークレットをレスポンスに含める
  • search/
    • LocalStorageに暗号化されたアクセストークン・シークレットが存在しない場合
      • JSONから読み込んで、アクセストークン・シークレットを取得
      • Twitterの検索APIを叩いて検索結果を取得
      • 検索結果を整形し、暗号化したアクセストークン・シークレットとともに、レスポンスを返す
    • LocalStorageにアクセストークン・シークレットが存在する場合
      • Twitterの検索APIを叩いて検索結果を取得
      • 検索結果を整形し、レスポンスを返す

検証パターン

  • 既にサインイン済みのユーザーがアクセスした際に、検索リクエストでPOSTパラメータが付与されるか
  • 一度アクセストークンを無効化して再度サインインした時に正常に動くか
  • 異なるユーザーでサインインした直後、受け取れるか

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.