Giter VIP home page Giter VIP logo

powerback's Introduction

Time To Take The POWERBACK

POWERBACK is an innovative platform that empowers small-dollar donors to make a real impact on democracy by aligning politicians with their campaign's values. This README provides an overview of POWERBACK, how it works, and how you can contribute.

Shows a simple graphic of a power cable turned backwards on itself, in different shades depending on user visual settings

Table of Contents

Introduction

POWERBACK draws inspiration from the #ForceTheVote movement of 2021, which challenged members of Congress to demand a vote on Medicare For All. This platform takes the concept further, allowing users to harness their collective power to promote accountability from our representatives.

POWERBACK is a digital revolution for wherever political corruption has become the new normal. We are not and will never be affiliated with any political party or individual candidate. Instead, POWERBACK focuses on serving voters, citizens, and regular people like you who just want their voices heard.

ss

How POWERBACK Works

POWERBACK's operation is simple yet impactful:

  1. Search for House Representatives who matter to you.

  2. Create a Celebration agreement. This agreement means that POWERBACK commits to deliver your prepaid campaign donation on your behalf, to the House congressional candidate of your choice, if and when Medicare For All is brought to the House floor for a vote.

  3. Choose your campaign donation amount, and proceed with payment. For larger amounts, POWERBACK takes care of proper filing with the FEC. (Learn more at our FAQ)

  4. Your voice is heard, and you contribute to the cause you care about.

Our Values

  • Party Free: POWERBACK will forever be nonpartisan, weaved into its very design of how information is presented.

  • Your Data: Your peace and privacy is our top priority. POWERBACK will never sell or unilaterally share your identifying data with anyone or anything outside of our network.

  • Low Fees: Our fees are the lowest out there, ensuring that democracy doesn't require paying a premium. Virtually all fees are to cover the payment processing service, Stripe. Learn more about these fees at the FAQ.

  • No Profits: This is not a for-profit organization. POWERBACK relies on user and public support to continue our mission. You can make a difference by giving a Tip along with your Celebrations, or by giving directly via Patreon. You can also give Bitcoin at

    1Q1HmBh9Wiqg5Kv12aY2zqhAnfz1CDz7Wr
    

Contributing

POWERBACK welcomes contributions from the open-source community to help improve the application. A great place to start is the Project Overview.

We are ambitious to grow beyond this single issue in the House to include all elections and all legislation at all levels of government. If you're interested in contributing, please read the Contributing Guidelines for more information on how to get involved.

To get started with a local instance of POWERBACK, follow these steps:

  1. Clone the Repository: Clone this GitHub repository to your local machine.

  2. Set Up Your Environment: Install dependencies, configure your environment variables, and customize settings as described in the Development Setup Guide.

  3. Acquire Keys: Several third-party APIs that POWERBACK utilizes require private keys. They are free-to-apply and are typically approved instantly. Check out the API Key list.

If you'd like to contribute to the development of POWERBACK, please see the Contributing Guidelines.

License

This project is licensed under the GPL License - see the LICENSE file for details.

powerback's People

Contributors

powerbackme avatar

Watchers

 avatar  avatar

powerback's Issues

"threading" placeholders with Celebration Event cards' subelements to avoid rebounce?

The Celebrations component contains a Vertical Timeline that maps the Celebration Event component.

Celebrations uses React Suspense with a Placeholder as a fallback.

If possible, it would be better to always render a parent component which contains placeholder elements "threaded" in with the real sub-elements that make up the Event component, instead of doing an either-or type render with the fallback placeholder or the fully rendered content.

This is because when the fallback changes to the rendered content, the Vertical Timeline has a "bounce-in" animation that is triggered a second time. A smoother effect would have this bounce only once on a parent element.

Keyboard focus stuck on Stripe pay/submit button

In the CheckoutCard component there is a submit ("Confirm") button element from Stripe positioned under the credit card number input element. If using a keyboard to tab into focusing on this element, it becomes stuck, so the keyboard becomes useless to navigate elsewhere on the page.

273492799-8f6ebb46-bbcb-4560-9e0e-b9a0db039d89

Related code:
Payment.tsx

Unnecessary repeated "customer_id" resource requests if user breaks process flow

Customer_id is a property under Stripe's Payment API.

When verifying a payment method, the app sends a request to Stripe for this value. However, a user is free to navigate backward in the process, eventually bringing themselves back at some point to requesting the Customer_id, which happens each time a user breaks and returns to the process.

Instead, it might be better to store Customer_id somehow, if not with Stripe directly, then in the database or other storage.

relevant code:
components/forms/Payment/Payment.tsx
routes/api/payments.js
controller/payments/
models/User.js

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.