私たちの最初のブレインストーミングでは、選挙データを保存し、一般大衆や報道機関にさえ提供するサービスがそれほど多くないことが明らかになりました。このプロジェクトでは、どの報道機関でも報道されず、現在のデータベースにも保存されていない政党取引や高度な有権者の人口統計などの情報を提供することで、そのギャップを埋めたいと考えました。
http://www.indiavotes.com などの現在のデータベースは、投票率や接戦などの選挙後の結果を提供しますが、選挙の予測に役立つ可能性のある情報は提供できません。その上、選挙職員や EVM に関する情報はありません。私たちはこのデータが選挙を円滑に進める上で重要であると信じており、プロジェクトに必ず含めるようにしました。私たちは、私たちのプロジェクトが今後の時代に十分な情報に基づいた選挙を実現するのに役立ち、私たちのプロジェクトを利用することで誰もが自分の選択をより良く分析できるようになることを願っています。
私たちは、選挙、有権者、選挙管理委員会、候補者、政党に関する情報を保存するインドの選挙データベース システムを作成しました。当社のサイトを通じて、ユーザーは必要なすべてのデータにアクセスできます。
前提: 私たちは政党と選挙に関するすべてのデータにアクセスできます。
私たちの主な利害関係者は、有権者、政党、報道機関、独立研究者です。
Django フレームワークは Python ベースの Web フレームワークであり、スケーラビリティを高めるモデル、テンプレート、ビューのアーキテクチャ パターンに従っているため、アプリで Django フレームワークを使用することにしました。
バックエンド部分でプロジェクト中に遭遇/予想された主な問題は次のとおりです。
VanillaJS と HTML および CSS を使用してフロントエンドを作成しました。
バックエンド部分でプロジェクト中に遭遇/予想された主な問題は次のとおりです。
各関係者が詳細を保存するためのテーブルと、関係者間の関係を確立するためのいくつかのテーブルを作成しました。投票者などの大きなデータを含むテーブルの場合は、そのデータにすばやくアクセスできるようにインデックス テーブルを作成しました。また、理解しやすく、より効率的に更新できるようにデータベースを正規化しました。
データベースは Microsoft Azure サーバーで公開されており、Microsoft SQL Server 管理ソフトウェアを使用してアクセスできます。
このプロジェクトを実行するには、ユーザーは次のことを行う必要があります。
python manage . py runserver
You have 17 unapplied migration ( s ). Your project may not work properly until you apply the migrations for app ( s ): admin , auth , content types , sessions .
Run 'python manage.py migrate' to apply them .
April 30 , 2020 - 14 : 41 : 47
Django version 3.0 . 5 , using settings 'django_project.settings'
Starting development server at http : // 127.0 . 0.1 : 8000 /
Quit the server with CTRL - BREAK .
実際の結果の前に選挙結果を予測できる仮想選挙を作成しました。ユーザーは当社のサイトにログインして候補者を選択しますが、一度選択を終えると再度投票することはできません。このようにして、投票者の詳細と投票を含むテーブルを作成し、一定の時間が経過した後、推定結果をユーザーに宣言します。
このようにして、実際の投票のカウントが開始される前に、ユーザーに結果を提供します。
私たちは、トランザクションを追跡し、キャッシュ メモリを維持し、同時実行ロックを維持し、マルチスレッドを使用して高速な結果を提供する、非常に効率的なサービスを作成しました。詳細は技術設計に記載されています。
ユーザーが Web ページを更新しなくても更新データを取得し続けることができる、非常に効率的な Web ページを作成しました。詳細は技術設計に記載されています。
リンク: https://app.creately.com/diagram/knHC7u2yS86/