Skip to content

gpsimpact/relational_gotv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relational gotv project

This project is made possible with generous support from The Mainstream Coalition. https://www.mainstreamcoalition.org/

To run locally:

  • Install / configure nanobox client http://nanobox.io
  • duplicate example.env to .env and customize
  • load environmental variables with nanobox evar load local .env
  • run nanobox run from within the project directory
  • run yarn dev to start dev server of both client(react) and api server

Features:

  • Partnering organizations each have a profile page to encourage users to register: Org Profile

  • Users can easily add their lists of friends / contacts whom they are going to GOTV Contact List

  • User can match their friends to the voter file Voter File Match

  • Monitor Voted status and vote by mail status Voted dialogue VBM dialogue

  • Users can be assigned tasks to complete for each contact and earn points Tasks

Tasks are defined by a simple schema:

{
  form_schema: {
    formTitle: 'This is Second Task',
    submitButtonText: 'Mark as completed!',
    fields: [
      {
        widget: 'p',
        text: 'This is a task that illustrates multiple questions in one task. Both are required.',
      },
      {
        widget: 'p',
        text:
          'Please contact this voter and ask them the following questions. Type their input below.',
      },
      {
        id: 'favBluth',
        type: 'text',
        widget: 'textinput',
        validationType: 'string',
        label: 'Who is your favorite character from the TV series Arrested Development?',
        placeholder: 'Lucille? Loose Seal?',
        validationTests: [
          {
            method: 'required',
            message: 'A Bluth is required',
          },
          {
            method: 'min',
            value: 2,
            message: 'must have length greater than 5',
          },
        ],
        initialValue: '',
      },
      {
        id: 'pickOne',
        widget: 'select',
        validationType: 'string',
        label: 'This is a Select example. Pick one.',
        options: [
          { value: '', label: 'select one' },
          { value: 'choiceOne', label: 'choiceOne' },
          { value: 'choiceTwo', label: 'choiceTwo' },
          { value: 'choiceThree', label: 'choiceThree' },
        ],
        initialValue: '',
        validationTests: [
          {
            method: 'required',
            message: 'A choice is required',
          },
          {
            method: 'min',
            value: 2,
            message: 'A choice is required',
          },
        ],
      },
    ],
  },
  point_value: 10,
  status: 'INCOMPLETE',
  sequence: 2,
};

About

Relational "Get out the Vote app" to make it easy to empower your organization's members to organize their contacts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors