Giter Site home page Giter Site logo

opensandiego / sdvv-frontend Goto Github PK

View Code? Open in Web Editor NEW
5.0 12.0 12.0 23.96 MB

Frontend for the Campaign Finance Transparency Dashboard

Home Page: https://followthemoneysandiego.org/

License: MIT License

JavaScript 1.99% TypeScript 78.80% HTML 8.35% SCSS 8.91% CSS 0.54% MDX 1.31% Dockerfile 0.09%

sdvv-frontend's Introduction

Transparency Dashboard for San Diego City elections

Organizations Involved in the Project

Links

Background Information

Currently, campaign finance information for candidates running for local offices as well as money spent by outside groups to support or defeat them is not readily accessible to the public. When the amount of money being spent as well as the source is not known, voters feel disenfranchised by the election process. Making campaign finance data easy to find and read will increase public trust and confidence in the election process.

For more information with Voter's Voice Initiative visit https://sdvotersvoice.org/

Data Source

The campaign finance data used in this site is sourced from publicly available campaign disclosure data provided by the City of San Diego's Electronic Filing System.

Prerequisites

  • Angular CLI 16+
  • npm 9.8+
  • node 18+

Setup

  1. Clone directory from github

  2. change to the sdvv-frontend directory

cd sdvv-frontend
  1. Run npm install to install all the dependencies
npm install
  1. Install the Angular CLI
npm install -g @angular/cli
  1. Build the libraries at least once. This will build them into the /dist folder.
npm run build:lib

If you are modifying a component in a library then you can run either library in watch mode using:

npm run start:lib:ui:charts
npm run start:lib:ui:components
  1. Start the Angular server then browse to http://localhost:4200/
npm run start

Or to start the server and open the application in the browser.

ng serve --open

The easiest way to run the site locally is to have it access the data using the remote development backend hosted on Heroku. This does not require the backend or database to be run locally. To do this use:

npm run start:db:remote

Contributing

Contributing

sdvv-frontend's People

Contributors

bolunthompson avatar dependabot[bot] avatar domdreams avatar gsod17 avatar robertgz avatar rqtruong avatar shrimpmantis avatar sushiaa avatar tommy-stone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdvv-frontend's Issues

mis-wording on FAQ page?

Current wording:
What is an independent expenditure?
Independent expenditures are campaign communications that expressly advocate for the election or defeat of a candidate that is not made in cooperation, consultation or concert with; or at the request or suggestion of a candidate, candidate's authorized committee or political party.

Shouldn't this be: Independent expenditures are campaign contributions instead of communications?

Create a race sum of all contributions for Mayor, City Council and City Attorney

Calculate for each race

  1. Download the candidate's from the following file (https://docs.google.com/spreadsheets/d/1mENueYg0PhXE_MA9AypWWBJvBLdY03b8H_N_aIW-Ohw/edit#gid=0)
    Create a for loop to run through the Candidate_Name column
  2. Create a for loop and filter by Mayor, City Council and City Attorney
  3. Sum the total for all contributions for each race
  4. Add contributions for each race to file src/assets/candidates/2020/campaign_race_totals.json

Voters Voice Initiatives home button

The boundary of the Voters Voice Initiatives home button in the upper left hand corner extends very far to the right. Is this intentional? Also, it has a brightly colored outline that appears after you click on it that does not go away until you click somewhere else on the page.

Mayor page Industry Breakdown table issues

On the Mayor page, the By Industry table needs more spacing, but it is not clear what this is so it may also need some re-design or at least a good explanation in the ToolTip.

  1. It is not clear what the left column with the green dots represents. Why green dots and how are those different job titles related to the contributions for this candidate? Maybe need a table header row to describe each column?
  2. Need more padding between the columns.</del
  3. Right justify the column with the dollar amounts, and can we eliminate the decimal/cents (looks like all amounts are whole dollars anyway).
  4. The percentages look off. Are these values accurate? What do they represent?

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

'All Races' toggle

The 'All Races' toggle in the upper right hand corner is a little confusing. It's not really clear on first glance what this button is for. I noticed that the left hand filters disappear/reappear after clicking it a few times, but it does not seem to change the content of the main area of the page.
If this button is just to toggle the filter list, it seems like it should have a different label (wording) and maybe placement closer to the list itself?
If it is supposed to change what gets displayed, it looks like it's not working as intended.
It also does not change appearance on mouseover the way other buttons do. Is this intentional?

Mayor page link to candidate website incorrect

On the Mayor page there is a link that looks like it goes to the candidate's web site but it does not:

<div _ngcontent-uji-c9="" class="website-link"><mat-icon _ngcontent-uji-c9="" class="mat-icon notranslate material-icons mat-icon-no-color" role="img" aria-hidden="true">link</mat-icon><a _ngcontent-uji-c9="" href="">Website</a></div>

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Usability Testing Round 1

Conduct usability testing on initial round of volunteers and compile a report of the findings so we can iterate on those.

Mayor page Raised v. Spent bar chart needs more spacing

The Raised v. Spent bar chart on the Mayor page needs more spacing between the two bars. If the two values are similar and high numbers they could overlap:

Please see screenshot

Screen Shot 2020-09-08 at 8 49 27 PM

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Mayor detail page Raised / Donors spacing issue

On the mayor page in the candidate detail there needs to be some more padding between Raised / Donors:

<div _ngcontent-uji-c9="" class="raised-donors p-grid p-justify-center p-align-center p-col-12 p-xl-3 p-lg-3"><div _ngcontent-uji-c9="" class="raised p-col-6 p-xl-3 p-lg-3 p-md-3"><p _ngcontent-uji-c9="" class="raised-title">Raised</p><div _ngcontent-uji-c9="" class="raised-amount">$150,000</div></div><div _ngcontent-uji-c9="" class="donors p-col-6 p-xl-3 p-lg-3 p-md-3"><p _ngcontent-uji-c9="" class="donors-title">Donors</p><div _ngcontent-uji-c9="" class="donors-amount">3250</div></div></div>

Please see screenshot:
Screen Shot 2020-09-08 at 9 14 43 PM

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Mayor detail page Support / Oppose is confusing

On the Mayor detail page there is a an issue with the Support / Oppose. Currently, for Barbara Bry it shows $153.675K for support. I think that showing the value in thousands in this way is confusing. People are not used to seeing 3 digits after a decimal point for dollar amounts. Better to not force the user to do math in their head. I can't tell if the same thing is done for the oppose value since it is currently 0.

Please see screenshot:
Screen Shot 2020-09-08 at 9 20 03 PM

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

udpate wording on splash page

Please change:
Who is the Voters' Voice Initiatives?
The Voters’ Voice Initiatives are aimed at providing “we the people” a greater voice in our government. Transparency in campaign finance is critical. Providing full disclosure on the flow of money in local politics empowers citizens to hold their government accountable for decisions made. Transparency reduces the potential for corruption and increases trust between voters and their government.
To:
The Voters' Voice Initiatives is a non-partisan coalition (including Represent.us and the League of Women Voters) working to give "We The People" a greater voice in our local government by:

  • Improving Transparency in Campaign Finance
  • Providing Full Disclosure on the Flow of Money
  • Reducing the Potential for Corruption
  • Increasing Accountability in Government

Candidate card numbers are not updating when switching between candidates

Clicking on Mayor panel > then clicking on the candidates detail card will show the candidate card. If you switch from one candidate card to the other the below calculations are not updated.

  • raised vs spent money and bar charts
  • By industry top 5 do not change
  • The oppose vs support numbers do not change

Create an "average donation" calculation.

  • Average Donation
    1. Download the candidate's from the following file (https://docs.google.com/spreadsheets/d/1mENueYg0PhXE_MA9AypWWBJvBLdY03b8H_N_aIW-Ohw/edit#gid=0)
    2. Create a for loop to run through the Candidate_Name column
    3. Filter by the candidate's name
    4. Sum the total for each contribution in the Trans_Amt1 column and divide by the number of contributions
    5. Round this number by dollar unit (44.30 will be 44)
    6. Update the average donation key in the candidate's json file (example src/assests/candidates/2020/mayor/barbara_bry/barbara_bry.json)

add links to sources

Can we add some links to the souces here:

The San Diego Campaign Finance Dashboard is being developed by volunteers in a non-partisan coalition as a service to our community. Data has been gathered from public records posted by the City of San Diego Clerk’s Office and the County of San Diego Registrar of Voters Public Portal in order to create the graphs and summaries for each candidate’s campaign.

update wording on splash page (#2)

Please update:
Follow the Money
See how local candidates are financing their campaigns so you can be informed before you vote.

To:
Follow the Money
See how local campaigns are financed so you can be informed before you vote.

ToolTips on Mayor page need text

The ToolTips on the Mayor page need text:

There are 4 ToolTips in total:

  1. Raised v. Spent
  2. By Industry
  3. In v. Out District
  4. Outside Money

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Chart on Mayor page not displaying properly

The chart on the Mayor page is not displaying properly:

<canvas _ngcontent-xkp-c8="" basechart="" height="520" width="556" class="chartjs-render-monitor" style="display: block; height: 260px; width: 278px;"></canvas>

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Please see screenshot
Screen Shot 2020-09-08 at 8 45 20 PM

Mayor candidate tile needs extra padding for current job title

The mayoral candidate tile (and probably all candidate tiles) needs a little extra padding on the line that shows the candidates current job/role. Please see screenshot:

Screen Shot 2020-09-08 at 9 30 42 PM

Testing Env: Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Mac OS 10.15.6 (19G73)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.