GithubHelp home page GithubHelp logo

ykankaya / fuel-throttle-node Goto Github PK

View Code? Open in Web Editor NEW

This project forked from exacttarget/fuel-throttle-node

0.0 1.0 0.0 521 KB

Application scaffolding tool for creating Hub Exchange Apps

JavaScript 91.84% HTML 8.16%

fuel-throttle-node's Introduction

Fuel Throttle

Fuel Throttle is an application scaffolding / acceleration project focused on helping developers do what they do best...WRITE APP CODE!

The primary use case for Fuel Throttle (Node) is centered around the following tech:

  • ExactTarget's HubApps (IMH, Interactive Marketing Hub)
  • Using the Stackato (Fuel Platform's PaaS) infrastructure
  • Node.js (Server-side JavaScript Event-driven engine)
  • Require.js (Well performing dependency management and code optimization tool)
  • Backbone.js (JavaScript library which loosly defines client-side MVC)

This tool will reduce your need to write boilerplate code.

The overriding design goal for Fuel Throttle is to reduce the development cycles required to get application code into the Fuel Platform ecosystem.

The secondary goal of Fuel Throttle is to reduce the cost of admission for development of apps by resolving common issues.

Version

0.1.0

Technological Dependencies

Fuel Throttle (Node) integrates the following technologies for you:

  • Code@ - ExactTarget's Developer Community
  • Fuel API Family - ExactTarget's RESTful based API ecosystem
  • App Center - ExactTarget's Application Management Interface
  • Fuel UX - The Fuel Platform control library built on Twitter's Bootstrap
  • Stackato - ActiveState's PaaS implemented at ExactTarget
  • Twitter Bootstrap - great UI boilerplate for modern web apps
  • node.js - evented I/O for the backend
  • Express - fast node.js network app framework @tjholowaychuk
  • Backbone.js - Loosly defined client-side MVC structuring library
  • jQuery - duh
  • Require.js - JavaScript file/module loader and optimization tool
  • Grunt.js - JavaScript task runner

System Requirements

Fuel Throttle has the following dependencies on your local system in order to operate properly:

HOW TO USE

  • npm install -g grunt grunt-cli grunt-init
  • mkdir ~/.grunt-init
  • git clone [email protected]:ExactTarget/fuel-throttle-node.git ~/.grunt-init/et-hub-app
  • Test that the template is available: grunt-init --help (look in the templates section you should see et-hub-app)
  • mkdir <path/to/your/apps/><yourNewAppName> (directory name will be the name of the new app by default, but can be changed)
  • cd <path/to/your/apps/yourNewAppName>
  • git init // initialize git in the directory
  • grunt-init et-hub-app
  • Answer questions, and start coding your app! (or follow directions for running your app in: http://github.et.local/Platform/Fuel-Throttle-Node)


**Optional Quick Start Instructions** - `npm install` --> Install all dependencies - `grunt build` --> Package the code for PaaS deployment (or running locally in optimized mode) - `node ` -- Start your app

Running Locally

  • Run the app in non-optimized (non-minified/uglified) mode

    $ node app

  • To run the app locally in optimized mode, use an editor and open: /config/default.js file

    change "endpoints.uiBaseDir" value to "optimized"
    write, close /config.default.js
    $ node app

##Running on Stackato Micro Cloud

  • Make sure you've installed the Stackato Micro Cloud and the Stackato client
  • Start the Stackato Micro Cloud VM
  • Make sure you're targeting the correct Stackato environment (our Micro Cloud URL)
  • stackato login
  • stackato push (from within the app's directory)
  • Answer prompts from Stackato where applicable
  • Visit your app's new URL in a browser

##Testing Tests are ran automatically when using grunt-build, grunt-package commands. To test ONLY, use grunt test at the prompt.

While grunt can run the included unit tests via PhantomJS, this isn't a substitute for the real thing. Please be sure to test the tests/*.html unit test file(s) in real browsers as well.
[More about Installing grunt and PhantomJS] installGruntPhantom

Project Roadmap

Fuel Throttle goals will be outlined in the project's milestones on Github.

Known Issues

There are several known issues as this is an organic project, please check the issue list for a complete current state of the project.

Contributing to Fuel Throttle

Contributions are welcomed, to contribute to Fuel Throttle:

  1. Before writing code, we suggest you search for issues or create a new one to confirm where your contribution fits into our roadmap.
  2. Fork the Fuel Throttle repo GitHub help
  3. Make your changes, being sure to add unit tests for new or changed functionality
  4. Run grunt package to lint, test, and package up the library
  5. Update your fork with the latest code from Fuel Throttle, merging as necessary
  6. Commit your changes (using git commit --amend to the original as you progress)
  7. Push to your GitHub repo, using --force if you have rebased
  8. Submit a pull request GitHub help

License

MIT

Free Software, Currently only recommended for internal ExactTarget usage!

Author(s): _ Benjamin Dean

Reference and Contributor(s):

fuel-throttle-node's People

Contributors

creatovisguru avatar plumlee avatar cmcculloh avatar futuremint avatar tweettypography avatar

Watchers

 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.