我們最初的集思廣益表明,沒有太多服務可以向公眾甚至新聞媒體儲存和呈現選舉數據。透過這個項目,我們希望透過提供政黨交易和高級選民人口統計等資訊來彌合這一差距,這些資訊既沒有在任何新聞媒體上報道,也沒有由當前資料庫儲存。
目前的資料庫(例如http://www.indiavotes.com)雖然提供了選舉後的結果,例如選民投票率和勢均力敵的競爭,但無法提供任何可能有助於預測選舉的資訊。最重要的是,沒有關於選舉工作人員或 EVM 的資訊。我們相信這些數據對於選舉的順利進行至關重要,並確保將其納入我們的計畫中。我們希望我們的項目將有助於在未來創建資訊靈通的選舉,並且透過使用我們的項目,每個人都能夠更好地分析他們的選擇。
我們創建了一個印度選舉資料庫系統,儲存有關選舉、選民、選舉委員會、候選人和政黨的資訊。透過我們的網站,使用者可以存取他們需要的所有資料。
假設:我們可以存取有關政黨和選舉的所有數據。
我們的主要利害關係人將是選民、政黨、媒體和獨立研究人員。
我們決定在我們的應用程式中使用 Django 框架,因為它是一個基於 python 的 Web 框架,並遵循模型-模板-視圖架構模式,這使其具有高度可擴展性。
我們在後端專案中遇到/預期的主要問題是:
我們使用 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 .
我們創建了虛擬選舉,使我們能夠在實際結果之前估計選舉結果。用戶登入我們的網站並選擇候選人,一旦完成,他就無法再投票。透過這種方式,我們創建了一個包含選民詳細資料及其投票的表,並在特定時間後,我們向用戶宣布估計結果。
透過這種方式,我們可以在實際投票開始計票之前向用戶提供結果。
我們創建了一個高效的服務,可以追蹤事務、維護快取、保持並發鎖並使用多執行緒快速提供結果。詳細內容在技術設計上有提及。
我們製作了高效的網頁,使用戶無需刷新網頁即可持續獲取更新的資料。詳細內容在技術設計上有提及。
連結:https://app.creately.com/diagram/knHC7u2yS86/