Giter Club home page Giter Club logo

optinist-for-server's People

Contributors

dependabot[bot] avatar emuemujp avatar hiiaka avatar itutu-tienday avatar kuwabaram avatar levinhsang1234 avatar milesoist avatar quanpython avatar reihashimoto avatar rysk-t avatar sanglevinh avatar shogoakiyama avatar toshikwa avatar toto-maru avatar ttya16 avatar ut29 avatar ykyamane avatar yoshifumi14 avatar

Watchers

 avatar

optinist-for-server's Issues

AllenSDK基本調査

対応内容

  • AllenSDKに関する調査

成果物

  • 情報収集・レポート

    • AllenSDKの基本情報の収集・レポート
    • Allen Brain Atlas の基本情報の収集・レポート
  • 詳細調査

    • データ仕様調査
      • ターゲットとなるデータベース(Allen Brain Atlas)のデータ仕様の把握、レポート
        • 想定は Brain Observatory の NWB データ
    • SDK調査
      • ターゲットとなるデータベース(Allen Brain Atlas)に対応するSDKモジュールの特定、レポート
  • OptiNiSt NWBファイルの、Allen NWBへの互換対応

    • ※当issueでは設計まで、実装は後続で対応想定

5-1. Workflow画面実装

対応内容

  • マルチユーザーのセッション管理の動作の整備
  • 4. Workspace画面からの画面遷移の接続
  • 権限制御の適用 (#66)

[MU-OptiNist]テスト設計・実施

総合テストについて

テスト実施条件の補足

  • テストケース(総合テスト)は以下を利用

  • 総合テストでは、アプリケーションは静的ページでの動作版(localhost:8000)を利用する

エビデンスの記録

テストの実施に際して、以下の情報を、記録する。

  • アクセス先のURL(ドメイン+ポート)
  • 環境変数ファイルの内容
    • frontend/.env.production
    • studio/config/.env
  • アプリケーションのバージョン情報
    • ※現時点(8/31)ではまだアプリケーションのバージョン情報は未指定のため、プログラムの branch 名(develop-mainを想定)を記録しておく。

データベース開発環境整備

対応内容

以下、データベース周りの開発環境整備を行う。

  • DB(MySQL)のDockerを追加し、docker-composeで起動するようにする
    • 起動に必要なconfig, Dockerfileなどのファイルはstudio/config/dbに配置する
  • MySQLはalembicでPythonによるmigrationを行う想定で構築する
  • PythonでDBを扱う際には直接のSQLではなく、SQLALchemyなどのO/R mapperを使用する
    • O/R mapperのschemasはstudio/app/common/modelsにテーブルごとのファイルで定義する

まずは、backendからDBへのO/R mapperでのクエリが実行できる状態まで進めたらレビューさせてください。
(さらに細かい頻度でのレビューもOKです)
想定と合っていない場合の修正の時間を短くしたいので、レビュー時点ではusersテーブルだけで良いです。

ミドルウェアバージョンアップ対応(Backend)

  • oist#531 の一環として以下のミドルウェアのバージョンアップを実施する
    • fastapi, uvicorn, jinja2
  • 可能な限り最新版を使用する
    • 特にfastapiについては、最低でも0.93.0以上に上げたい
      • fastapi-paginationを使用したいため
      • #42 の実装で、class Paginationを作成していますが、今後paginationを使用するAPIが増えそうなので、fastapi-paginationで統一したいです
        • こちらのIssueの対応後に、fastapi-paginationを使用するパターンにFixしていただけますか
  • バージョンアップに伴い、必要なコードの修正があれば実施する

データ管理・解析処理設計

対応内容

  • データ(MAT形式)の格納仕様、入出力フローの設計

  • ※画面やバックグラウンドの処理に関連

  • 関連

成果物

  • データ仕様書
    • 格納ディレクトリ構成
    • ファイル命名仕様
    • ファイル種別、ファイルフォーマット
    • 用語
    • etc.
  • データフロー設計

データファイル仕様の標準化

対応内容

  • 現行のファイル仕様のヒアリング・情報整理

成果物

  • データ仕様書
    • 格納ディレクトリ構成
    • ファイル命名仕様
    • ファイル種別、ファイルフォーマット
    • 用語
    • etc.

関数ノードモック実装

対応内容

  • MATLABファイルの読み込みの基本処理を組み込んだWorkflow関数ノードを実装
  • ※事前に、#3 を実施しておく

成果物

  • 実装ソースコード

Database API実装②

対応内容

  • 先行タスク ( #29 )で実装したAPIのI/Fへ、DBアクセス処理を実装する。
  • ※先行して、以下のタスクを対応する。

インフラ設計

対応内容

  • アプリケーション稼働環境インフラ設計

  • ※基本的にはハードウェア寄りのインフラ設計は他社対応想定だが、アプリケーション寄りの設計の対応を想定

  • 想定対応範囲

    • 仮想化ミドルウェアの要否検討、製品選定
      • Docker, VMWare, etc.
      • Note: 本来は、この概要設計を実施の上でのハードウェア選定となると想定されるが、2023/5時点すでにハードウェア選定が完了しているらしい点は、経緯・選定要件の確認を行っておいた方がよい。
    • ミドルウェア構成(OS、etc)
    • WEBサーバー構成 … ドメイン+SSL、負荷分散
    • バックアップ設計(アプリケーション層)
  • 想定外対応範囲

    • ハードウェア選定
      • Note: 予備機も考慮(データ(RAID化)の他、ハードウェア本体の冗長性の考慮)
    • ネットワーク設計
    • バックアップ設計(インフラ層)

成果物

  • システム構成図
  • サーバー構成情報
    • ソフトウェア情報、環境情報、バックアップ設計、etc

[MU-OptiNist]データベース設計

対応内容

  • データベース設計
  • データベース製品選定(RDB、他)

成果物

  • データベース設計書

    • テーブル設計書
    • ER図
  • データベース製品 選定結果

3. Database - Filter機能実装

対応内容

Database関連画面のFilter機能を実装

  • 補足

    • MUI のコンポーネント(DataGrid等)の標準のフィルタ機能を利用する形でOKだが、以下の機能の実現を希望
      • 複数の条件の指定(AND条件)が可能
      • 条件項目のリスト選択(またはサジェスチョン)の対応
  • 関連画面

Matlabファイル処理 テスト

対応内容

  • Matlabファイル処理対応のテスト

  • 想定テストケース

    • 幾つかのデータをピックアップし、新旧(新:Python版、旧:MATLAB版)のプログラムによる、データ解析処理結果を実施する。
    • 比較方法配下
      • statsファイルの内容比較(簡易な比較プログラムを用意してもよい)
      • plot画像の比較(目視確認)

成果物

  • テスト設計
  • テスト実施結果

Matlabモジュール移植対応

Output

  • TC, TSファイルのロード → 統計データの生成
  • 統計データから解析処理
  • 解析結果からplotの生成

Database API実装①

対応内容

  • APIのI/Fを実装する。
  • ※DBへのアクセスは、後続タスク( #41 )で対応する。

3. Database - API組み込み①

対応内容

  • 以下画面へのAPIアクセス組み込み

    • 10-1. Public Experiments
    • 10-2. Public Cells
  • その他の類似画面へのAPI組み込みは、後続issueで対応

ベースシステム(BareBone)からの変更点の洗い出し

対応内容

  • ベースシステム(BareBone)からの仕様変更点の洗い出し、
    • 例)
      • 画面仕様
      • アクセス先データソース(API)
      • アカウント仕様(ID/PWフォーマット、権限、etc)、etc

成果物

  • 仕様変更点一覧
  • 画面設計書への情報反映

ワークフロー処理の中断APIの実装

対応内容

  • 以下issueと同対応内容

  • 対応内容

    • BE
      • Workflow RUN Cancel API の作成
      • Workflow RUN Cancel 処理の実装(Snakemake)
    • FE
      • Workflow画面のCANCELボタンから、RUN Cancel API の呼び出し
        • 処理の成否はsnackbarでメッセージ表示する
  • 補足

    • まずは実現方法を調査・検討、その後 実装へ移る
    • 対応は optinist (barebone-studio) へ適用し、その後 optinist-for-server へ適用(pull request)する
      • (追記)barebone-studio と他リポジトリのマージ運用の整理が必要であるため、運用整理までは 当件は optinist-for-server へ直接適用とする
  • 関連

権限設計

対応内容

  • 権限に関する設計

成果物

  • 権限仕様資料

    • 権限マトリクス
      • 権限種別と許可の対象(操作、リソース、etc)の仕様整理
    • アクセス権限の許可仕様
      • ロールベース
      • 組織ベース(※組織の場合、階層構造の考慮有無なども検討)
      • 個人ベース
  • 承認業務フロー

    • 業務フロー図

5-2. Records画面実装

対応内容

  • マルチユーザーのセッション管理の動作の整備
  • 4. Workspace画面からの画面遷移の接続
  • 権限制御の適用

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.