Child pages
  • Developer guide
Skip to end of metadata
Go to start of metadata

In this section we are showing you how to implement changes in QoffeeSIP stack. Here, in API, all these elements are described in depth.

Architecture

Environment configuration

Firts of all we have to install needed tools, for now we only officially support GNU/Linux environment but, at the end, some Windows software links are provided too. In both environments we use CoffeeScript, an awesome language which compiles to Javascript. We think it's much more fun and friendly, you can consult the project website.

NOTE: Do not install Debian/Ubuntu nodejs,npm or coffeescript packages to avoid compatibility problems with dependencies.

  • Install node.js: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

     

  • We should install CoffeeScript with -g parameter and using sudo in order to be availiable for all users:
    sudo npm install -g coffee-script


  • At this point you should fork the project in Github and work just as in any other project of this site.

  • Now, we can clone the project. (mine it's not forked of course)

    git clone https://github.com/Quobis/QoffeeSIP.git

    cd QoffeeSIP


  • This command installs all project dependencies specified in JSON file.

    npm install

     

  • It's time to make changes, when you finish you could test it using make tool. You can rebuild your version of the stack with next command (.js file will be placed in dist/ path).
    cake build

     

  • When your changes are done (or if you have any problem building) you should clean the environment in order to avoid to get some .js files commited.  
    cake clean

Windows tools

  • Node.js
  • CoffeeScript: Install it from npm (inluded with Node.js distributable).
  • Git for Windows
  • Gow (GNU on Windows): It provides common GNU/Linux tools (needed to compile) to WIndows prompt. We prefer it to cgywin because off being lighter and simpler.
  • Google Chrome Canary: Development version of the browser, it do not share the user profile with stable version so you can install both without problem.
  • No labels