Civic Tech Atlanta's main website
You need to be in the directory that contains the docker-compose.yml file
Run the following command in a terminal:
docker compose up -d
This should be all you need to get the project up and running
Early voting information for Georgia
Home Page: http://earlyvoting.codeforatlanta.org
License: BSD 3-Clause "New" or "Revised" License
This website shouldn't really need javascript to work. Let's replace most of the javascript by building a generator that we can run to create each page for the site and limit the JS to things like maps.
Among other things, this will make it easier for people to contribute to the project
For some reason, trying this when emulating touches in chrome works fine, so this needs to be tested on a device.
Currently the og:image
is pointing to a file that doesn't exist. Also add Twitter metadata:
Sanity check the site content based on what the scraper and parser are outputting (e. g. look for places that close for lunch (it doesn't handle those well) or places that supposedly close before they open) and then maybe plan to make some phone calls if anything needs confirmation.
It's been brought to my attention that several people will show up to an early voting location on election day. If you want to vote on election day, you need to go to your regular polling place, not any early voting one.
Please write some copy to add to the site to clarify this point. For now, this should point them to the Secretary of State "My Voter Page" to find their polling place. https://www.mvp.sos.ga.gov/MVP/mvp.do
e.g. “This location opens Oct 31st” instead of "Early voting begins Oct 17th"
It's been brought to my attention that several people will show up to an early voting location on election day. If you want to vote on election day, you need to go to your regular polling place, not any early voting one.
Ticket #49 outlines two new pieces of content:
Ideally, this change in display would be automated using the existing Angular app. We already have the election dates included in the app, so if it's currently within a given date range, we can have the site display different content.
Relates to #46
Steps to reproduce:
It's been brought to my attention that several people will show up to an early voting location on election day. If you want to vote on election day, you need to go to your regular polling place, not any early voting one.
Once early voting ends, we should change what's displayed on the site to make it clear that early voting has ended and that you should go to your normal polling place on Tuesday if you haven't voted yet. What content should be displayed at this time?
Additionally, what content should be displayed once one election is over and early voting has not begun for the next one?
Happens when either:
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: use uuid module instead
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN prefer global [email protected] should be installed with -g```
To reproduce:
%2F
appended to itAt the least, this could be a map of rail and bus stops shown on the Fulton, DeKalb, and Clayton county maps.
Possibly also include regional transit systems?
During the November 2016 election season, 55% of users were on mobile, 6% on tablets, and 39% on desktop. 74% of mobile devices were on iOS.
e.g. http://earlyvoting.codeforatlanta.org/#/counties/Fulton/0 will always show Adamsville Collier Heights Library
(or maybe it should be http://earlyvoting.codeforatlanta.org/#/counties/Fulton/Adamsville-Collier-Heights-Library)
Hard to reproduce
Some early polling locations are open until 10/31. The map for these locations only shows up to 10/26
http://sos.ga.gov/elections/countycontacts/advancevotingdisplay.aspx
5238 Evitt Street Ringgold, Catoosa
3319 Lakeview Dr Rossville, Catoosa
1475 East Fayetteville Road Riverdale, Clayton
5401 Anson Avenue Eastman, Dodge
150 Davis St Franklin, Heard
111 Davis Rd Stockbridge, Henry 1
408 Thomaston Street Barnesville, Lamar 0
56 W Main Street, Suite 8 Lakeland, Lanier 0
825 Memorial Drive Griffin, Spalding 0
It's been brought to my attention that several people will show up to an early voting location on election day. If you want to vote on election day, you need to go to your regular polling place, not any early voting one.
This ticket is for building out the UX designed in #49
(Your county might have an election, but you might not have an election to vote in, if the election isn't your district.)
Use angular-moment directives anywhere moment is currently used in the SPA
For general elections, all counties usually have early voting locations (maybe always, these days?).
But for some elections like runoffs, all counties aren't expected to have early voting locations.
Warning text in parser should reflect this.
The service should store user settings for the following:
The filter view should have all of the options the user has to filter early voting locations. Each item in the list of options should trigger a toggle function on the Filter service. The view should use ng-class
and the value of the filter setting to change the look of the list item.
I'm thinking if the filter is active (true) it should be green? If the filter is inactive (false) it should be red? Maybe we should use icons (checkmark or x), too.
It currently fails with this error: Unable to find visible css "select#ctl00_ContentPlaceHolder2_ddlCounty" (Capybara::ElementNotFound)
Instead, it should return empty data.
Angular is great for writing modular code, but you often end up with a pretty long list of JS files to include. I suggest setting up a build system with gulp or grunt to concatenate these files together to reduce HTTP requests.
To reproduce on an iOS device on Chrome or Safari:
Some possibilities to consider:
For now, exclude any over some number of characters (once it's only visible on polling place pages)
Create script to be run on heroku to take output from js parser and do an s3 (aws) transfer into the codeforatlanta early voting directory where the json file will live
Relates to #45
Some info in the slack might be useful for this task, beginning at https://codeforatlanta.slack.com/archives/C0655AHBN/p1502755760674564
If you don't have access to the slack, you can get an invite at http://slack.codeforatlanta.org/
Examples:
Before early voting begins: "Opens October 17"
Before 9pm Eastern on an early voting date: "Open today, Oct. 17: 8am - 5pm"
After 9pm on an early voting date: "Open tomorrow, Oct. 17: 8am - 5pm"
Or: "Closed today. Click for dates."
After early voting (inc. last day after 7pm eastern): "Early voting has ended"
Note: make sure daylight savings time is handled and that times are converted to eastern
For some reason I can't get the map to be anything but a pixel based height.
See issue.
My styles:
html,
body {
height: 100%;
}
.angular-leaflet-map {
height: 100%;
}
It's been brought to my attention that several people will show up to an early voting location on election day. If you want to vote on election day, you need to go to your regular polling place, not any early voting one.
Please decide where and how would be the best place on the site to present this information (about a paragraph long) to the user. The site is live at https://earlyvoting.codeforatlanta.org/#/
Related to #47
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.