GithubHelp home page GithubHelp logo

loop's Introduction

Loop

All our user feedback in one place. Built on Equip.

Loop grabs feedback items from a variety of different sources, including Twitter, Satismeter, Zendesk, and the Manager Tool. Feedback is posted to HipChat and saved in a database for any later analysis.

Setting Up

For local development, Homestead is recommended. Edit the folders and sites entries in Homestead.yaml to include the following:

folders:
    - map: local/path/to/loop
      to: /home/vagrant/loop

sites:
    - map: loop.dev
      to: /home/vagrant/loop/web

For the various endpoints to work, you will need a .env file in Loop's root directory with any keys you need. Take a look at Configuration.php to see what fields are expected.

Testing

There is no official testing procedure yet, so there are a few important things to keep in mind when testing:

  • Using ?debug=true on an endpoint URL will still show new feedback items in the response body, but will prevent the endpoint from actually doing anything with those feedback items. Use this to test if an endpoint is getting the correct values but you don't want to post anything to HipChat or save anything in the database.
  • Any new content will be automatically sent to the Loop room in HipChat, where the entire company can see it. Consider setting a different HipChat room key in your local .env file.

loop's People

Contributors

bvisness avatar

Watchers

Richard avatar Christian Haberstroh avatar Daniel Olfelt avatar Brian Fenton avatar Sean Sube avatar Marco RS avatar Sam Tape avatar Amine Matmati avatar Adam Meech avatar James Cloos avatar Jereme Allen avatar Adam Ahrens avatar Dustin Camilleri avatar Conner McCall avatar Zach Softich avatar Matt avatar  avatar Dusty avatar Matt Kleinsasser avatar Chad Linden avatar Matthew Van Horne avatar  avatar kevin taniguchi avatar Jonathan Swatkowski avatar Courtney Downs avatar Chad Halvorson avatar Grant Stromgren avatar Max Lund avatar Michael Szczepanski avatar David Dohmeier avatar Elliot Courant avatar  avatar

loop's Issues

Use formatting tool instead of HTML

Right now there is a significant amount of HTML being generated inside domain classes. Instead, all HTML should be rendered using a formatting system. Something along the lines of:

class FeedbackMessage
{
    private $title;
    private $body;
    private $source;
    private $tone;

    public function getSource()
    {
        return $this->source;
    }

    public function getTone()
    {
        return $this->source;
    }

    public function toArray()
    {
        return get_object_vars($this);
    }
}

class MessageFormatter
{
    private $format = '<strong>title</strong><br>body';

    public function format(FeedbackMessage $message)
    {
        return sprintf($this->format, $message->toArray());
    }
}

Just a simple example, but ensures that all messages are formatted the same, in one location.

Service classes should not be static

Service classes should all be made into normal instances instead of static. Configuration should be done via the dependency injector, instead of being hard coded or pulled from environment variables.

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.