우리의 초기 브레인스토밍을 통해 선거 데이터를 저장하고 일반 대중과 뉴스 매체에 제공하는 서비스가 많지 않다는 것이 분명해졌습니다. 이 프로젝트를 통해 우리는 어떤 뉴스 매체에도 보도되지 않거나 현재 데이터베이스에 저장되지 않는 정당 거래 및 고급 유권자 인구통계와 같은 정보를 제공함으로써 이러한 격차를 해소하고 싶었습니다.
http://www.indiavotes.com과 같은 현재 데이터베이스는 유권자 투표율 및 마감 경선과 같은 선거 후 결과를 제공하지만 선거를 예측하는 데 도움이 될 수 있는 정보는 제공하지 않습니다. 게다가 선거 관리원이나 EVM에 대한 정보도 없습니다. 우리는 이 데이터가 선거를 원활하게 진행하는 데 중요하다고 믿으며 이를 프로젝트에 포함시켰습니다. 우리는 우리 프로젝트가 앞으로 정보에 기반한 선거를 만드는 데 도움이 되기를 바라며, 우리 프로젝트를 사용하여 모든 사람이 자신의 선택을 더 잘 분석할 수 있기를 바랍니다.
우리는 선거, 유권자, 선거 관리위원회, 후보자 및 정당에 대한 정보를 저장하는 인도 선거 데이터베이스 시스템을 만들었습니다. 우리 사이트를 통해 사용자는 필요한 모든 데이터에 액세스할 수 있습니다.
가정: 우리는 정당과 선거에 관한 모든 데이터에 접근할 수 있습니다.
우리의 주요 이해관계자는 유권자, 정당, 언론 매체 및 독립 연구원입니다.
우리는 Python 기반 웹 프레임워크이고 확장성이 뛰어난 모델-템플릿-뷰 아키텍처 패턴을 따르는 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 .
실제 결과가 나오기 전에 선거 결과를 예측할 수 있는 가상 선거를 만들었습니다. 사용자가 우리 사이트에 로그인하여 후보자를 선택하고 나면 다시 투표할 수 없습니다. 이런 방식으로 우리는 유권자 세부 정보와 투표 내용이 포함된 테이블을 만들고 특정 시간이 지난 후 예상 결과를 사용자에게 공개합니다.
이런 방식으로 우리는 실제 투표가 계산되기 전에 사용자에게 결과를 제공합니다.
우리는 멀티스레딩을 사용하여 트랜잭션 추적, 캐시 메모리 유지, 동시성 잠금 유지, 빠른 결과 전달 등 매우 효율적인 서비스를 만들었습니다. 자세한 내용은 기술 설계에 언급되어 있습니다.
우리는 사용자가 웹페이지를 새로 고치지 않고도 계속 업데이트된 데이터를 얻을 수 있는 매우 효율적인 웹페이지를 만들었습니다. 자세한 내용은 기술 설계에 언급되어 있습니다.
링크: https://app.creately.com/diagram/knHC7u2yS86/