Skip to content

anishghale007/elector

Repository files navigation

elector

flutter

mockup

"Vote anywhere, at any time"


An Election electronic-voting (e-voting) mobile application built with Flutter.

Table of Contents

  1. Description
  2. Packages Used
  3. Install
  4. Screenshots

Description

“Elector” is a mobile application that uses three steps of voting verification process as well as end to end data encryption. The primary goals of “elector” are to preserve election integrity, provide accessibility to both domestic and overseas citizens, produce accurate voting results, reduce the election cost, eliminate the use of paper ballots, thwart any illegal acts, and to raise the voter turnout. This project was developed using the Flutter framework, which is a software development kit used for developing multi-platform applications from a single codebase. The frontend was built with the Dart programming language, and the Firebase database was used as the backend. Because this is the first version of the app, there are numerous opportunities for improvements and new features.

flutter_riverpod and GetX was used for the state management. GetX was also used for navigation and getting dialog box. The project was built using the MVC pattern. The use of Flutter Framework makes the app available for both iOS and Android devices. Hence, the app was not designed for web and desktop version. The app is responsive only on mobile and tablet devices.

Inorder to register in the system, the user must enter a voter ID that is registered in the DB and a voter ID that has not been used by another user. The registered Voter IDs in the DB are: 1001, 1002, 1003, 1004, and 1005. After entering the personal information, an email verification mail will be sent to the email account that the user has given. So, the user is required to give a genuine email account. After confirming their email, the user will have to enable fingerprint scan. Without enabling it, the user will not gain access to the main page or system. Bear in mind that this app will not work in a smartphone without a biometric technology. Only one biometric scan i.e. fingerpint scan, has been inegrated in the app with plans to integrate more in the future.

This app was created with the main goal of assisting the election process in Nepal. Currently, there are three types of election in Nepal: General election, Provincial election and Local election. This app only implements the General election and Local election. This app uses one single-member nation-wide constituency for Federal Election FPTP (First-Past-The-Post) voting method instead of the 165 single-member constituencies in the FPTP voting method as of now. It also uses one single-member provincial-wide constituencies for Provincial Election FPTP (First-Past-The-Post) voting instead of the 330 single-member constituencies in the FPTP voting method.

What the user can do

  • Register using their email address and voter ID (must be registered in the DB and must not be used by another user).
  • Riew the ongoing and upcoming election.
  • Change their profile picture and password.
  • Vote in the election and view the live or post results of the election.
  • View their voting history.

Admin Panel

This app has an admin panel which was also made from Flutter Framework (Flutter Web). You can find it here

Packages Used

  • flutter_riverpod: ^1.0.4
  • get: ^4.6.5
  • font_awesome_flutter: ^10.1.0
  • shared_preferences: ^2.0.15
  • dotted_border: ^2.0.0+2
  • image_picker: ^0.8.5+3
  • lottie: ^1.3.0
  • carousel_slider: ^4.1.1
  • firebase_core: ^1.24.0
  • cloud_firestore: ^3.5.1
  • firebase_auth: ^3.11.2
  • firebase_storage: ^10.3.11
  • local_auth: ^2.1.2
  • flutter_secure_storage: ^6.0.0
  • intl: ^0.17.0
  • charts_flutter: ^0.12.0

Install

git clone https://github.com/anishghale007/elector flutter pub get

Screenshots

Splash Screen



Login and Registration



Voter ID Error Message



Email Verification Page



Fingerprint Page



Home Page



Election Vote Page



Election Stats Page



Provincial Election Vote Statistics Page



Profile Page



Voting Instructions Page



Election FPTP & PR Voting Page



Three-step Vote Verification Process Page



Election Vote History Page



About

A online election voting mobile application built using Flutter and Firebase.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors