Skip to content

kcjdg/halalan-2025

Repository files navigation

halalan-2025

A Halalan 2025 is a comprehensive platform designed to support and enhance the 2025 Philippines elections.

Overview

This project consists of three microservices that collectively manage the polling, ballot, and voting processes for an election system. Each microservice has a specific responsibility to ensure a seamless experience for both voters and administrators.

Table of Contents

Microservices Overview

Feature Polling Service Ballot Service Voting Service
Primary Functionality Manages polling station information and voter assignments. Manages ballots' creation, distribution, and content. Manages the actual voting process, voter eligibility, and vote recording.
Main Users Voters (to find polling stations), Admins (to manage polling logistics). Voters (to view and receive ballots), Admins (to configure ballots). Voters (to cast votes), Admins (to monitor and validate voting).
Key Operations Provides polling station locations and logistics. Creates and provides ballots based on voter eligibility and district. Allows casting of votes, verifies eligibility, and records votes.
Data Focus Polling location data, voter assignments. Ballot data (candidates, questions, voting options). Voting data (voter eligibility, votes, voting status).
Communication Patterns Primarily synchronous (HTTP REST) for real-time data. Both synchronous and asynchronous for ballot management and updates. Both synchronous and asynchronous for voting and results aggregation.
Integration Points Voter Registration Service (to get voter assignments). Voter Registration and Polling Service (to know the assigned ballot). Voter Registration and Ballot Service (to verify eligibility and manage votes).

Features

  • Polling Service: Provides polling locations, handles voter assignments, and manages polling station logistics.
  • Ballot Service: Creates and distributes ballots, manages the content of ballots (candidates, questions, voting options), and updates ballots based on voter eligibility.
  • Voting Service: Handles vote casting, verifies voter eligibility, and records and aggregates votes for result generation.

Data Focus

  • Polling Service: Polling location data, voter assignments.
  • Ballot Service: Ballot data (candidates, questions, voting options).
  • Voting Service: Voting data (voter eligibility, votes, voting status).

Communication Patterns

  • Polling Service: Primarily synchronous (HTTP REST) for real-time data retrieval and updates.
  • Ballot Service: Both synchronous and asynchronous communication for ballot management and updates.
  • Voting Service: Both synchronous and asynchronous communication for voting operations and results aggregation.

Integration Points

  • Polling Service: Integrates with the Voter Registration Service to retrieve voter assignments.
  • Ballot Service: Integrates with the Voter Registration Service and Polling Service to determine assigned ballots.
  • Voting Service: Integrates with the Voter Registration Service and Ballot Service to verify voter eligibility and manage votes.

Usage

To use these microservices, deploy each service independently. Ensure that each service can communicate over the network using their designated endpoints, and set up the appropriate authentication and authorization mechanisms for security.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A Halalan 2025 is a comprehensive platform designed to support and enhance the 2025 Philippines elections.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors