Skip to content

TheAutomaTom/third-party-animal

Repository files navigation

ThirdPartyAnimal🌹

> ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄/;~-..__-=
> ███ ─▄─▄─/─█─█▄─██▄─▄▄▀█▄─▄▄▀██████/▄─
> ██████─███─▄─██─███─▄─▄██─██─████████─
> █████▄▄███▄█▄█▄▄▄██▄█▄▄██▄▄▄▄████████
> ██▄─▄▄─██▀▄─▄█▄─▄▄▀█─▄─▄─█▄─█─▄█████
> ███─▄▄▄██─▀─███─▄─▄███─████▄─▄██████
> ███/█████/█▄▄██▄█▄▄███▄▄███▄/███████▄▄
> █▀▄─▄█▄─▀█▄─▄█▄─██▄─▀█▀─▄██▀▄─▄█▄─▄███▄─~
> █─▀─███─█▄▀─███─███─█▄█─███─▀─███─██▀█▄▄▄─
> ▄▄█▄▄█▄▄▄██▄▄█▄▄▄█▄▄▄█▄▄▄█▄▄█▄▄\▄▄▄▄▄█▄^─.
> Our voter data aggrigator 2022
Intent
  • To make public records voter data more accessible to data scientists... and maybe help get me a job.
Present Coverage

🌹 Project Summaries

3PA.UI User Facing, Browser-Based Web App

  • Vue 3 with...
    • Vuex stores
    • Decorators for class and props
    • The native router & eventbus are set up and working
    • No styling or component library has been adopted, yet.
3PA.Data.SQL Raw Data
  • EF Core
    • Commit publicly available voting records to local Sql.
  • Contains complete copy of available public records in three tables:
    • Voters individual identification data.
    • Histories of voters registered in the above table.
    • OrphanHistories where the assigned voter registration number is not already recorded.
3PA.Queue Task Queue
  • RabbitMq
    • allows UI to line up public records to be read into Sql.
    • This project is not yet deployed.

🌹 To-do's & Intentions

Public Records Collection

  • Consumer uses one repo for each state to read public records...

    • I can't seem to combine the repos into a generic
    • This may be because each repo makes decisions about Voter Identity vs History inside the same big method.
      • PublicRecordBase doesn't doo much but prevent using object in the repos
      • IGeoData is covering too much... some of the props are just "repo helpers"
      • IPublicrecordEntryConfig is half implemented...
  • Add service to scan orphan histories for newly added voters in that county, and reconnect them in active histories.

  • Add service to scan "other counties" to see if I can correlate a voter moving to their orphan histories (low priority).

Data Aggregation

  • Use Elastic Search to compose efficient methods to identify likely third-party votes.

🌹 How to get started

The projects are basically plug & play...

3PA.API Data Services

I have been experimenting with RabbitMq, but you shouldn't need that installed to debug, at present.

  1. In Visual Studio, open ThirdPartyAnimal.sln
  2. Begin debugging (all the local launch and app settings are included, at present).
  3. Begin by posting some of the included sample data, such as:
  • A small county's voter identities file 20211207_VoterDetail\LAF_20211207.txt
  • followed by their histories 20211207_VoterHistory\LAF_H_20211207.txt
  • You may follow larger files' progress in the console window.

3PA.UI User Facing, Browser-Based Web App

You will need Node.js installed to run.

  1. In VsCode, open folder ...\3pa.ui\src
  2. In the terminal, run yarn to update Node packages
  3. Calls from the "Api Phonebook" test harness should succeed

🌹 More to come as the project developes!