avikalpg / indianvotingassistant Goto Github PK
View Code? Open in Web Editor NEWA personalised helper for voters in Indian Elections for only viewing information relevant to them for casting a vote.
License: Apache License 2.0
A personalised helper for voters in Indian Elections for only viewing information relevant to them for casting a vote.
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
Not really. But currently (according to issue #4 ), the starting point for making our user interfaces location-aware is too steep. And working on this issue might make the development on this end simpler.
Describe the solution you'd like
Instead of directly getting into the constituency level, we can start with just looking at state and union elections. For this, we only need to derive the state or union territory corresponding to any location.
So we should create an API endpoint to get the name of the state or union territory based on latitude and longitude information.
Describe alternatives you've considered
Alternative solutions:
Additional context
This step also makes the progress towards the MVP of this FOSS product easier, by focussing on state and union elections for the time being and postponing the development of features for serving local elections.
This functionality will automatically identify the constituency (preferably along with city, district and state information) of a voter based on his/her latitude and longitude information.
Assuming that each candidate submits a manifesto for each election that he or she contests, we need to be able to return the manifesto over an API call.
In later versions of this project, we would also like to process the information in the manifesto to extract policy proposals relevant specific topics that different voter cohorts care about.
For any given election (with enough specifications, to make it unique), the API should be able to return the names and details of all the candidates who are contesting in that election.
This must contain an identifier for each candidate so that further information can be extracted regarding him/her.
We will be able to extract "Assembly Constituency" and "Part No. and Name" from the voter id of the user. We want to be able to get information about the next elections that this voter will be eligible to vote for.
Just getting the name of the election and date of voting should be good enough.
This information is independent of the election. For any given candidate (probably based on an id), we should be able to return the equivalent of a resume, CV or LinkedIn profile of the individual.
This is important because we are modelling the election similar to job applications. All the candidates are applying for a particular vacancy, and the people are selecting the right candidate to do that job.
To prepare the API for scale, we will need to dockerize the application for deployment.
(We must also discuss at this point what is the right place to host this API, AWS Lambda, GCP functions or Heroku.
Without a database, we cannot support any personalization for the voters looking for assistance. In the V1, we do not need personalization, but it is a problem which needs a solution before we start development of V2.
We need multiple end-points on the API to be able to provide atomic functionalities. For example, here are the end-points of the V1 (non-personalized details of local candidates):
According to the current architecture, this will be done as part of the same AWS Lambda function for easy deployment and management (free of cost for low traffic).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.