Giter Site home page Giter Site logo

ntu-vote-auth-server's Introduction

NTUVote 身分驗證系統

TravisCI

這是用於電子投票的身分驗證系統伺服器,自臺灣大學 103 學年度第一學期學代會學生代表選舉起,搭配選務端程式於每學期投票中使用。系統架構以 Django REST Framework 為基礎,藉由讀取卡片資訊、並與校務系統連線,使得此次電子投票得以透過自動化的方式驗證身分、派發選票,並有效過濾偽卡。

完整電子投票系統架構分為驗證與投票兩部分,其中裝置整合與身分驗證系統由臺灣大學學生會選舉罷免執行委員會委託臺灣大學開源社 RSChiang 規劃研發;投票系統則延請 MouseMs 實作。

此專案以 Apache 2.0 授權釋出供公眾使用。

系統需求 / System Requirements

身分驗證系統使用下列環境建置:

  • Ubuntu 16.04
  • Python 3.4
  • PostgreSQL 9.3

專案依賴的套件與版本可參考 requirements.txt,所需設定的環境變數可以在 core/settings.py 找到。

安裝 / Install

git clone https://github.com/rschiang/ntu-vote-auth-server
pip install virtualenv

# (a) For environment with Python 2.7 as default
apt-get install python3
virtualenv --python=`which python3` venv

# (b) For enviroment with newer Python installation
virtualenv venv

# Install dependencies
source venv/bin/activate
pip install -r requirements.txt

# Additional dependencies for PostgreSQL
sudo apt-get install libpq-dev
pip install psycopg2

# Forking configuration file and export its path
cp core/config/default.yml production.yml
export CONFIG_FILE=`readlink -f production.yml`

# Create tables
./manage.py migrate

# Running dev server on localhost:8000
./manage.py runserver

# Use Gunicorn when you're ready
# You might want to bind to unix socket (e.g. "unix:/tmp/gunicorn.sock")
# and use Nginx to serve static files instead.
gunicorn core.wsgi --bind=0.0.0.0:80

相關專案 / Related Projects

NTU Vote Authentication Server

This project is the authentication server that has been used since 103-1 NTU Student Council Representative Election, in conjunction with client application. Based on Django REST Framework, the authentication system enables the automation of identity verification process, while significantly reduces the chance for electoral fraud.

The full e-vote architecture consists of two distinguish parts: authentication and ballot-casting. The authentication and device integration part is done by NTU Open Source Community under the delegation of NTU Students' Association Election Commission, while MouseMs from NTUST is in charge of the voting system.

This project is released under Apache License 2.0.

ntu-vote-auth-server's People

Contributors

rschiang avatar squirrel532 avatar katrina376 avatar

Stargazers

Andrew Hsieh avatar SeongHwa Joy avatar Lihan Chen avatar fishcui avatar Junde Yhi avatar Johann Chang avatar 雨蒼 avatar  avatar Yukai Huang avatar hydai avatar Pokai Chang avatar PastLeo avatar anarchih avatar MouseMs avatar shouko avatar Xiaojun Hong avatar

Watchers

 avatar

Forkers

ntuosc

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.