Skip to content
Álvaro Saco edited this page Jan 13, 2015 · 8 revisions

Welcome to the compart.io wiki!

We will be including information about how to contribute to every aspect of the compart.io community as a programmer, designer, tester and more. Things like naming convention, settings, documentation, licensing, etc. will be explained so everybody follows the same working methodology.

Programming

Environment Settings

Next are the main folders and their content explained so every programmer can find out where to locate the files when working on front-end or back-end.

app/public/

The public folder contains all static content (images, style-sheets, client-side JavaScript).

  • ./img/
  • ./js/
  • ./stylesheets/
  • ./vendor/

app/server/

The server folder is where all the files regarding back-end are located:

  • ./model/ contains all your ORM (object-role modeling) models (called Schemas in mongoose).
  • ./modules/ contains all javascript functions executed in server.
  • ./views/ contains your view-templates (using any templating language supported in express).
  • ./routes/ contains the routes for each model.
  • .router.js contains the main routes, template rendering and dispatching.

config/

The config folder includes all the javascript files defining all the required settings, such as the url for the remote mongo database and so on.

root

  • app.js does all the initialization required by all the controllers, models and middlewares.

GitHub Flow

The basic rules that we follow are:

  • Anything in the master branch is deployable
  • To work on something new, create a descriptively named branch off of master (ie: new-oauth2-scopes)
  • Commit to that branch locally and regularly push your work to the same named branch on the server
  • When you need feedback or help, or you think the branch is ready for merging, open a pull request
  • After someone else has reviewed and signed off on the feature, you can merge it into master
  • Once it is merged and pushed to ‘master’, you can and should deploy immediately
Clone this wiki locally