1

私は現在、研究者がレビューを行うために使用するWebアプリケーションを設計しています。このアプリケーションには、参加者と管理者という2つのユーザーグループがあります。Djangoアプリケーションの構造

管理者のみがレビューを開始でき、管理者またはスクリーナとしてレビューに参加するユーザーまたは管理者を割り当てることができます。各レビューの一般的なワークフローは次のとおりです。

  1. 医療データベースを検索して何千もの参照をインポートします。
  2. タイトルに基づく画面参照(審査員/管理者の数は、1回または複数回の審査が可能です)。各レビュー担当者はすべてのリファレンスをスクリーニングします。各参照を含めるか除外するかを記入してください。
  3. 画面には要約に基づく参照が含まれています。上記と同じです。
  4. ソースのフルテキストをPDF形式で保存し、参照用に保管してください。
  5. スクリーンには全文に基づく参照が含まれています。上記と同じです。
  6. カスタムフォームを作成します。
  7. 含まれる参照からデータを抽出します。
  8. エクスポートデータの参照のすべてのレビューの機械学習の進捗を通じて

が行われます。また、レビューを通じて包括的なログを採取する必要があります。

私の質問はこれです、どうすればこれらのセクションをdjangoアプリケーションに分割し、必要なデータベースをどのように構造化すればいいですか?

  • ユーザー:

    仮に、私はこれらのデータベースを持っていることについて考えました。スクリーマーとレビュアーの情報を保存し、テナーと管理者のプロジェクトを格納します。

  • プロジェクトデータ抽出フォームを含む各プロジェクトの基本情報を保存します。参照テーブルとの1対多の関係
  • 参考文献。包含状態とデータ抽出を含む各参照に関する情報を格納します。

ロギングの処理方法がわかりません。これどうやってするの?

これは分かりやすい分割ですか。それでは、それに応じてステップをアプリに分割する必要があります。

+0

私はあなたの質問を理解できませんバージョン管理の詳細に? Djangoには、デフォルトログhttps://docs.djangoproject.com/en/1.10/topics/logging/が付属しています。しかし、バージョン管理についてのあなたの質問は何ですか? – rrmerugu

+0

@rrmeruguユーザーアクティビティの観点からのログイン。設定の変更、参照の削除など – scutnex

+0

がそれを取得しました。 @scutnexだからバージョン管理に関する質問 – rrmerugu

答えて

3

Djangoの最も良い点は、manage.py startapp <myapp>で作成するappsです。アプリケーションは、コードのモジュール化を適切に制御します。あなたはコードをモジュール化するのに適切な道筋にいます。

テーブルのユーザーに関しては、プロジェクトや参照はあなたの説明から妥当性があります。

私があなただったら、アプリをこのようなものに仕上げます。

apps/ 
    userprofile/ (users table) 
    project/ (projects and references tables) 
    activity/ (activity and notifications tables) 

ロギング に関するユーザ編集、プロジェクトの編集や削除など各アクティビティはpost_又はpre_信号https://docs.djangoproject.com/en/1.10/topics/signals/介して捕捉することができます。アクティビティを作成して、アクティビティに基づいて、単一のアクティビティを通知として複数のユーザに公開することができます。つまり、1つのアクティビティで、イベントの参加者である複数のユーザへの通知がトリガされます。各アプリで

私は、各アプリ内で次のような構造を使用することを好む:データ

ここからあなたの条件をスイートワンを試してみてくださいバージョンについて

userprofile/   
    __init__ 
    views.py 
    tests.py 
    signals.py # write the post_save pre_save post_delete pre_delete logics here 
    managers.py # take full leverage of managers, and custom querysets 
    forms.py 
    models.py 
    urls.py 
    admin.py 
    tasks.py # for celery or tasks which will be used by queuing systems 
    apps.py 

https://djangopackages.org/grids/g/model-audit/

関連する問題