Coder Social home page Coder Social logo

lucianorabu / friendbank-markey Goto Github PK

View Code? Open in Web Editor NEW

This project forked from itsjoekent/friendbank-markey

0.0 0.0 0.0 24.09 MB

Relational organizing tool for Democratic campaigns

Home Page: https://support.edmarkey.com/

License: MIT License

JavaScript 97.33% Makefile 0.07% HTML 2.51% Dockerfile 0.09%

friendbank-markey's Introduction

friendbank

NOTE: This project is no longer actively maintained.

A relational organizing tool developed for Ed Markey's 2020 senate re-elect. Read more about the relational organizing strategy Team Markey employed.

In The Wild!!

Local Development

Requires Docker.

$ cp .env.example .env
$ make start

App is available at localhost:5665.

You can also run make unit-test-api to run the API test suite.

Deployment

Friendbank can run anywhere that supports Docker containers, for the Markey campaign we used Heroku for it's simplicity, but all major cloud providers should have no issues hosting Friendbank.

Configure your hostname

Once you've confirmed the deployment of your app, it will not successfully launch until you include your hostname.

You may edit the campaignResult.domains array and include your hostname: src/api/db/seed.js#L309

You must then seed the production database

$ MONGODB_URL=mongodb+srv://<...> npm run seed`

with your hostname and any other customizations changes ind the seed.js file.

Friendbank requires a MongoDB deployment, we recommend MongoDB Atlas, along with a SendGrid account for transactional email, and an AWS account with an S3 bucket to host images.

Note on Heroku deployment:

By default, Heroku does not detect a Docker stack. Run heroku stack:set container in the Heroku CLI and re-deploy the application.

Note on Sengrid:

For setting up the dynamic email templates, I've copied the two templates we used on the Markey campaign.

Note on production environment variables:

When deploying Friendbank, if your campaign does not use the Blue State Digital Tools, ignore the BSD_ environment variables and set DEBUG_CRM_SIGNUP=true.

Customization

To customize the default copy or photo options, edit src/api/db/seed.js and seed the database (make seed). User accounts with admin permission can also edit copy from within the tool.

To edit the overall site branding,

# Colors, fonts, etc
src/frontend/theme.js

# Campaign Logo
src/frontend/components/Nav.js

# Images, select options, web copy
src/api/db/seed.js

Problems

Deployin Docker on Heroku https://www.youtube.com/watch?v=4axmcEZTE7M&ab_channel=Sparkbox

Set a MONGODB_URL config var Now that we've properly formed our connection string, it's time to store it in a Heroku config variable. Let's set our connection string to a config var called MONGODB_URL:

heroku config:set MONGODB_URL="mongodb+srv://yourUsername:[email protected]/sample_mflix?retryWrites=true&w=majority"

https://www.mongodb.com/developer/products/atlas/use-atlas-on-heroku/

friendbank-markey's People

Contributors

itsjoekent avatar lucianorabu avatar wallace avatar

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.