All Projects → OurVoiceUSA → Hellovoter

OurVoiceUSA / Hellovoter

Licence: agpl-3.0
HelloVoter App Suite. Contact your Reps. Canvass for any cause at zero cost.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Hellovoter

Android Notes
Android开发核心知识点笔记(不断更新中🔥)
Stars: ✭ 737 (+2277.42%)
Mutual labels:  mobile-app
Flutter Restaruant App
Restaurant Applebee | Food Delivery Mobile App with NodeJS Backend.
Stars: ✭ 23 (-25.81%)
Mutual labels:  mobile-app
Immuni App Android
Official repository for the Android version of the immuni application
Stars: ✭ 881 (+2741.94%)
Mutual labels:  mobile-app
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+24777.42%)
Mutual labels:  neo4j
Paravotar
Una herramienta para practicar tu voto con la papeleta de Puerto Rico.
Stars: ✭ 19 (-38.71%)
Mutual labels:  civic-tech
Node Neo4j
[RETIRED] Neo4j graph database driver (REST API client) for Node.js
Stars: ✭ 935 (+2916.13%)
Mutual labels:  neo4j
Interactivegraph
InteractiveGraph provides a web-based interactive visualization and analysis framework for large graph data, which may come from a GSON file, or an online Neo4j graph database. InteractiveGraph also provides applications built on the framework: GraphNavigator, GraphExplorer and RelFinder.
Stars: ✭ 730 (+2254.84%)
Mutual labels:  neo4j
Mangosta Ios
MongooseIM client for iOS
Stars: ✭ 28 (-9.68%)
Mutual labels:  mobile-app
Openprocure
An open list of government procurement thresholds
Stars: ✭ 22 (-29.03%)
Mutual labels:  civic-tech
Codeforokc
Public web site for Code for OKC
Stars: ✭ 11 (-64.52%)
Mutual labels:  civic-tech
Zmninja
High performance, cross platform ionic app for Home/Commerical Security Surveillance using ZoneMinder
Stars: ✭ 762 (+2358.06%)
Mutual labels:  mobile-app
Decidim
The participatory democracy framework. A generator and multiple gems made with Ruby on Rails
Stars: ✭ 894 (+2783.87%)
Mutual labels:  civic-tech
Neo4jd3
Neo4j graph visualization using D3.js
Stars: ✭ 843 (+2619.35%)
Mutual labels:  neo4j
Neovis.js
Neo4j + vis.js = neovis.js. Graph visualizations in the browser with data from Neo4j.
Stars: ✭ 748 (+2312.9%)
Mutual labels:  neo4j
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+124358.06%)
Mutual labels:  mobile-app
Ribs
Uber's cross-platform mobile architecture framework.
Stars: ✭ 6,641 (+21322.58%)
Mutual labels:  mobile-app
Article 1
Review prediction with Neo4j and TensorFlow
Stars: ✭ 24 (-22.58%)
Mutual labels:  neo4j
Bolt
Bolt protocol PHP library over TCP socket primary targeted to use with Neo4j.
Stars: ✭ 31 (+0%)
Mutual labels:  neo4j
Spring Depend
Tool for getting a spring bean dependency graph
Stars: ✭ 28 (-9.68%)
Mutual labels:  neo4j
R2d2 Cypher
Cypher support for the r2d2 connection pool
Stars: ✭ 8 (-74.19%)
Mutual labels:  neo4j

Introduction

Our Voice USA is a 501(c)(3) non-profit, non-partisan organization for civic education. We are writing tools to engage everyday citizens with the political process by providing easy access to civic information that's relevant to the individual.

Development Setup

Docker is required to get the database running, so make sure you have that installed on your system.

To get set up locally, simply run the following commands:

git clone https://github.com/OurVoiceUSA/HelloVoter.git
cd HelloVoter
npm install
npm run database
npm start

This sets up everything except the mobile app. To get setup with local development of the mobile app as well, see mobile/README.md.

If you want to interact with the API from a script outside of the web app, make sure you include your JWT with the "Authorization: Bearer" header. You can either get the JWT from your browser's dev tools after you sign into the web app, or, you can use the no-auth dev JWT. This requires you stop the "npm start" process, set an environment variable, and make that user an admin, before you re-start it:

export REACT_APP_NO_AUTH=1
npm run makeadmin -- "noauth:localuser"
npm start

The JWT token you can use is as follows:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Im5vYXV0aDpsb2NhbHVzZXIiLCJuYW1lIjoiTG9jYWwgVXNlciIsImVtYWlsIjoibG9jYWxAbG9jYWxob3N0IiwiaXNzIjoib3Vydm9pY2V1c2Eub3JnIiwiaWF0IjoxLCJleHAiOjIsImRpc2NsYWltZXIiOiJCbGFoIGJsYWggZGlzY2xhaW1lciJ9.qa5K2pgi1uLYkV7jP3aNvazcchvgBD8RwhdG6Q86GxlvusQx7nNCTr3LrAnn6pxDJxNidJoqjD3Ie77jj5hWK_-lbgtHMLhNXGExDxI8pQ0I5ZnAV_5pDu7vARinoy3mctQWFO2pIQSu8KzQc7eQ90IQZBseE7nQV-ugZRfK8Teo_48COcJxGxqwCNCO80G_JzBoif2xaWRb2i2n0qeSUKfXN4Fwy46JOiHFnL9yOS5s54tB6doe1wFJNYps8eVQbVkTBL1I9PQP4Gs-BmzND0vcQaczTdu_J50uvLL5do1FHb48lRhrA44ZrYv3EVwNsJXZtH3MbasxgPrZhl69VQ

You should be all set!

Test Automation

Our goal is 100% code coverage and full regression of automated tests. As the tests are very heavily data dependent, a sandbox database is spun up before execution.

npm test

The very first time you run this will take longer than normal to build and spin up the sandbox database. It remains running after the tests finish, so subsequent test executions will go much faster.

The sandbox database runs on a different port than the default Neo4j port. If you need to connect to it, use 57474 for the Neo4j Web UI port and 57687 for the bolt port after you load the UI.

Please be sure to write any tests that correspond to your code changes before you submit a pull request.

Production Setup

This app is designed such that you do not need to deploy the mobile app or the web client, as Our Voice USA publishes the mobile app to the app stores and hosts a production copy of the react app here: https://apps.ourvoiceusa.org/HelloVoterHQ/ (details in client/README.md)

See database/README.md for details on how to setup a database and server/README.md for details on how to configure and deploy the server.

Contributing

Thank you for your interest in contributing to us! To avoid potential legal headaches please sign our CLA (Contributors License Agreement). We handle this via pull request hooks on GitHub provided by https://cla-assistant.io/

Please also read our code of conduct.

License

Software License Agreement (AGPLv3+)

Copyright (c) 2020, Our Voice USA. All rights reserved.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU Affero General Public License
    as published by the Free Software Foundation; either version 3
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

NOTE: We relicense the mobile app code for the purposes of distribution on the App Store. For details, read our CLA Rationale

Logos, icons, and other artwork depicting the Our Voice bird are copyright and not for redistribution without express written permission by Our Voice USA.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].