-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
- Database scheme
- Development
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.
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