Code Monkey home page Code Monkey logo

gawoo's People

Contributors

dependabot[bot] avatar kingyosun avatar

Stargazers

 avatar  avatar

Watchers

 avatar

gawoo's Issues

投稿のpinning

他人の投稿をpinningできるようにする
できたらやる

シナリオ絞ってe2eテスト

  1. ユーザ登録/ログイン → 投稿(画像、動画)→ インデックス表示 → 個別ツイート表示
  2. ユーザー登録/ログイン → リプライ → インデックス表示 → 個別ツイート表示
  3. ユーザー登録/ログイン → プロフィール表示 → フォロー → インデックス表示 → アンフォロー → インデックス表示
  4. ユーザー登録/ログイン → 投稿取得 → インデックス表示
  5. ユーザー登録/ログイン → フォロー取得 → 一覧表示

投稿シェア

  • js-waku経由で投稿をシェアする
  • TODO: コミュニティ内で同じ投稿が重複してsendされる問題がある

フォロー機能

  1. (Follower)Followテーブルに格納してから相手のjs-wakuのtopicにmesssageを送る
  2. (Following)js-wakuからfollowMessageを受け取ってFollowテーブルに格納

脱Ceramic Network

ずっと考えてたプロフィールをCeramicにして良いのか迷ってたので書いて整理してみる
Ceramic Networkはざっくり言うと「常時稼働が保証されたサーバー郡による分散ネットワーク」のことで、これによってユーザーは純粋なP2Pで発生するシード無し(100%のファイルを持っているユーザーが存在せずファイルを取得できない)を回避できる
レスポンスも早いし体験的にも良い
しかし、「サーバー郡」が障害点になるし純粋にユーザー間でのP2Pという原則からは外れてしまう
(もっとも、ユーザー同士をマッチングさせるサーバーも別の「サーバー郡による分散システム」に乗せる予定なので究極的なP2Pを実現する見通しは立っていない)
ただ、今のプロダクトは「プロフィール用の分散システム」「純粋なユーザー間の投稿共有システム」「ユーザー同士をマッチングさせる分散システム」の3つがあって非常に複雑になっている
そこで、「プロフィール用の分散システム」でプロフィールが確実に取得できないリスクを妥協した上で「純粋なユーザー間の投稿共有システム」に載せ替えた方が良さそうな気がしてきた
つまり「純粋なユーザー間のファイル共有システム」と「ユーザー同士のマッチング用分散サーバー郡」に分かれるのでスッキリする
ついでに「プロフィール用分散システム」であるCeramicはたしかに優れているがCeramicプロジェクトに集約しすぎていてリスクが高そうというのもある
「ユーザー同士のマッチング用分散サーバー郡」はもっとシンプルな構成だし、代替プロジェクトも存在しているのでいざという時は乗り換え可能なのでリクスは低い
というわけでプロフィール共有システム丸っと入れ替えっぞ

匿名投稿

匿名グループを作ってそこに投稿できるようにする
署名不要にする

マイページ

マイページ→プロフィール編集の順で遷移する

通知機能

  • FollowMessageをjs-wakuから受け取ったらNoticeテーブルに格納する
  • NoticeContextを作って疑似的にsubscriptionする
  • 後々いいねなどインプレッションも通知する

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.