0.3.0 • Published 9 years ago

indiecast-model v0.3.0

Weekly downloads
3
License
-
Repository
-
Last release
9 years ago

indiecast-model

JSData model definitions and other components shared among apps.


Directory structure

component/ # Component definitions
├── datastore/
├── rethinkdb-adapter/
├── spec-config.js
└── spec.js
model/ # Model definitions
├── core/
└── spec.js
CHANGELOG.md
.gitignore
.jscsrc
.jshintrc
package.json
README.md
spec.js

Libraries used

JSData

Robust framework-agnostic in-memory data store.

https://github.com/js-data/js-data http://www.js-data.io

Wire

A light, fast, flexible Javascript IOC container.

https://github.com/cujojs/wire http://cujojs.com/

Gulp

The streaming build system.

https://github.com/gulpjs/gulp http://gulpjs.com/

RethinkDB

The open-source database for the realtime web.

https://github.com/rethinkdb/rethinkdb http://rethinkdb.com/


Recommended tools

Mac OS or some flavor of Ubuntu

Windows is not recommended for development. Try elementary OS.

Sublime Text 3

http://www.sublimetext.com/3

Sublime Text 3 packages

First install Package Control then use it to install the following packages:

  • AdvancedNewFile
  • DocBlockr
  • JavaScript & NodeJS Snippets
  • JSCS-Formatter
  • NodeRequirer
  • SideBarEnhancements
  • SublimeLinter
  • SublimeLinter-jscs
  • SublimeLinter-jshint
  • SublimeLinter-json
  • Terminal

An overlay terminal

Ubuntu

sudo apt-get install guake

Mac

Quake?

A GUI for git

Ubuntu: Git Cola

# Download git cola
wget -qO /tmp/git-cola_2.2.1-1_all.deb https://launchpad.net/ubuntu/+archive/primary/+files/git-cola_2.2.1-1_all.deb

# Install it with dpkg
sudo dpkg -i /tmp/git-cola_2.2.1-1_all.deb

# Fix broken dependencies
sudo apt-get -y install -f

Mac: SourceTree


Git etiquette

Branching

The master branch is for production-ready code only. Code should be merged from release branches. Each merge defines a new release.

The develop branch is for code under development. Changes should not be committed directly to develop. They should only be merged in from feature branches.

Feature branches should branch off of develop or another feature branch, for sub-features. When ready, they should be merged back into develop with the --no-ff flag.

Release branches branch off of develop when develop is nearly ready for release. This frees develop for the next version while final touches can be made on the release branch. When ready, it should be merged into master and back into develop with the --no-ff flag.

Hotfix branches branch off of master and are for fixing bugs after major releases. When ready, they should merge into back into master and into develop with the --no-ff flag.

See http://nvie.com/posts/a-successful-git-branching-model/ for in-depth explanation of this branching model.

Committing

If you have a lot of changes to commit, you should generally split them up into multiple commits. While a single commit can contain changes to many files, each commit should only serve a single purpose.

This can be easily done with most git GUIs such as SourceTree or Git Cola.