Napping Panda Missionaries

    requestizer

    0.9.3 • Public • Published

    requestizer

    By Oceanhouse21

    Build Status

    requestizer

    requestizer is a leightweight tool enabling your oganisation to receive contact requests via email, built upon express.

    Features:

    DEPENDENCIES

    USAGE

    Install, configure and deploy on heroku:

    git clone https://github.com/oceanhouse21/requestizer
    heroku create
    git push heroku master
    

    Copy and paste the returned Heroku URI. Add Heroku config variables:

    heroku config:set SENDGRID_USERNAME="your_username"
    heroku config:set SENDGRID_PASSWORD="your_password"
    heroku config:set FROM_EMAIL="from@gmail.com"
    heroku config:set TO_EMAIL="to@gmail.com"
    # If using custom templates 
    heroku config:set TEMPLATE_URL="http://s3.yourtempalte.de/config.json"

    Finally embed this script in any of your html files and change the heroku link.

    <form id="requestizerForm" action="javascript:submit();"> 
      <label for="email">Email:</label>
      <input type="text" name="email">
      <label for="message">Message:</label>
      <input type="text" name="message">
      // If using custom templates, otherwise skip next line
      <input type="hidden" name="template" value="starter_template">
      <button id="submitForm">Submit</button>
    </form>
     
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript">
      function submit () {
        var formData = JSON.stringify($("#requestizerForm").serializeArray());
        $.ajax({
          type: "POST",
          url: "http://yourapp.herokuapp.com/request",
          contentType: "application/json",
          data: formData,
          success: function(){
            window.alert("Thank you for your request!");
          },
          error: function(){
            window.alert("Sorry, something went wrong ;-(\nPlease try again.");
          }
        });
        return false;
      };
    </script> 

    CUSTOM TEMPLATES

    Custom templates are defined in an additional JSON file that may be placed anywhere, e.g. on S3 or in a public git repo, gists do not work. Example configuration (see also config_sample.json](https://github.com/oceanhouse21/requestizer/blob/master/config_sample.json)):

    // config.json
    {
      "starter_template": {
        "request": {
          "from": "please-change-me@gmail.com",
          "to": "please-change-me@gmail.com",
          "subject": "New request",
          "html": "<h1>Yo, new request</h1>",
          "text": "Yo, new request",
          "type": "request"
        },
        "thanks": {
          "from": "please-change-me@gmail.com",
          "subject": "Thank you",
          "html": "<h1>Thank you!</h1>",
          "text": "Thank you!",
          "type": "thanks"
        }
      }
    }

    Make sure to configure custom templates on Heroku and in the HTML form field.

    LICENSE

    MIT License. Copyright 2014-2015 Oceanhouse21 GmbH. http://www.oceanhouse21.com

    You are not granted rights or licenses to the trademarks of Oceanhouse21 GmbH, including without limitation the requestizer name.

    Install

    npm i requestizer

    DownloadsWeekly Downloads

    1

    Version

    0.9.3

    License

    MIT

    Last publish

    Collaborators

    • oceanhouse21