Skip to content
This repository has been archived by the owner on Feb 15, 2018. It is now read-only.

twlevelup/purple_team_watch

Repository files navigation

LevelUp Watch Edition App Development Environment

+Build Status

This git repo contains all the code you need to prototype apps for the Proto Watch.

Installation

See the Installation Instructions

Continuous Integration

Before you commit

  1. Check the CI build, do not commit unless it's passing!
  2. git pull --rebase
  3. grunt pre-commit
  4. Fix any errors
  5. git push

Checking the build status

To view the build status and get notifications about the build status:

  1. Visit Snap CI and click "CCTray" in the top right of the screen
  2. Add the XML config to CCTray or CCMenu on your dev machine

You can also access the CI server and view the status of the build here Snap CI

Tech Stack

There are a number of pieces in the tech stack but many of them are just to provide automation and don't have to touched or understood in order to build Proto Watch apps.

During the project you'll mostly be working with JavaScript, Backbone and Jasmine.

You should only need to work on files inside the client/ directory if you are building a watch app.

Testing

Tests are written using Jasmine and run using Karma. jQuery matchers are available to make view testing easier.

Infrastructure Tools

These are used to automate various tasks in your development environment and deploy automatically to the Heroku staging environment.

  • Grunt - Automation
  • Snap - Continuous Integration
  • Heroku - Staging environment

Watch Specifications

The Proto Watch is designed to be a simple low cost device.

  • Audio: speaker
  • Input: 5 mechanical buttons
  • Screen: 240-by-240-pixel resolution. 1.54” (diagonal) colour TFT display
  • Capacity: 256MB Enough for a large amount of text, no video or images (beyond UI elements i.e. no photo, video or music library)
  • GPS: Yes
  • Expansion: None
  • Networking: GPRS or less*
  • Battery and Power: Built in rechargeable batter
  • With regards to networking the actual speed depends on your target audience i.e. do some research but will be capped at GPRS speeds. Basically make ajax network requests for JSON data

FAQ

How do I run a subset of test?

Replace it and describe with fit or fdescribe

I've got more questions

Look at the further reading section below ;-)

How do i run grunt pre-commit on Windows?

Run this command manually on the command line instead

jscs --fix Gruntfile.js ./grunt/*.js ./client/src/js/**/*.js ./client/spec/*.spec.js && grunt test

Further Reading

You don't need to read the whole book but it's worth going over the first couple of chapters to understand how this is different from a regular MVC framework.

An excellent online tutorial for getting started with Git.