Skip to content

psychlone77/election-system-mobile-app

Repository files navigation

Election System Mobile App

A secure, modern mobile voting application built with React Native and Expo, featuring end-to-end encryption, biometric authentication, and a seamless user experience.

Related Repositories

Overview

This mobile application provides a complete election system that allows users to:

  • Register securely using National ID and initialization codes
  • Authenticate using PIN or biometric authentication (fingerprint/face recognition)
  • Vote for candidates in a secure and encrypted manner
  • Verify voter eligibility and voting status
  • Manage profile and security settings

Key Features

Security

  • Ed25519 Cryptographic Keypairs - Generated on registration for secure signing
  • Secure Key Storage - Private keys stored using SecureStore (native) or localStorage (web)
  • PIN Protection - 4-6 digit PIN with salted hashing
  • Biometric Authentication - Optional fingerprint/face recognition support
  • Blind RSA Signatures - Privacy-preserving vote submission

User Management

  • Smart registration detection and flow
  • PIN creation and management
  • Biometric enrollment and toggle
  • Profile dashboard with account information
  • Secure logout with session management

User Interface

  • Clean, modern design with purple accent theme
  • Intuitive navigation and form validation
  • Toast notifications for user feedback
  • Loading states and error handling
  • Responsive layout for all screen sizes

📱 Screenshots

Registration Screen

image

Voting Screen

image

Verification Screen

image

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Expo CLI
  • iOS Simulator (for Mac) or Android Emulator

Installation

  1. Clone the repository
git clone https://github.com/psychlone77/election-system-mobile-app.git
cd election-system-mobile-app
  1. Install dependencies
npm install
  1. Set up environment variables Create a .env file in the root directory with your API configuration:
API_BASE_URL=your_api_url_here
  1. Development Commands Start Development Server
npm start

About

A secure, modern mobile voting application built with React Native and Expo, featuring end-to-end encryption, biometric authentication, and a seamless user experience.

Topics

Resources

Stars

Watchers

Forks

Contributors