continuous delivery of danbury.io, part 1
TRANSCRIPT
A DEVELOPER SERIES
• The Site Architecture
• Building, Running and Deploying
• Automated Testing
• Continuous Delivery
• Pull Request Testing
SITE ARCHITECTURE
• Front-end design with Angular.js
• CSS simplified with Compass
• Back-end APIs with Node.js
• Data Storage with MongoDB
BUILD, RUN, DEPLOY
• Managing web dependencies with Bower
• Building with Grunt
• Running locally with foreman
• Deploying to Heroku
TESTING
• Unit testing with Karma
• Behavior-driven development with Cucumber
• Browser testing with Selenium
CONTINUOUS DELIVERY
• Code management with Git
• Collaborating using Github
• Test and Deploy with Snap-CI
PULL REQUEST TRACKING
• Developer submits a proposed change
• Automatically deploy an instance of your application
• Manually test, validate, review before it goes live on your site.
A DEVELOPER SERIES
• The Site Architecture
• Building, Running and Deploying
• Automated Testing
• Continuous Delivery
• Pull Request Testing
SITE ARCHITECTURE
• Front-end design with Angular.js
• CSS simplified with Compass
• Back-end APIs with Node.js
• Data Storage with MongoDB
OPEN SOURCE!
• Didn’t start from scratch
• danbury.io is forked from newhaven.io
• You can fork it too
• Sharing is caring!
ANGULAR.JS• A templating language that runs in the
browser, not on the server.
• Automatic data-binding
• Controllers for behavior
• Server Communication
• Create reusable components
• Embeddable, injectable, testable
COMPASS
• Sass is an extension on top of CSS3
• Compass extends Sass
• Create sprites
• Add mixins
• Great for designers who want to enforce vertical rhythm
GUMBY
• A CSS framework for responsive sites
• Extends Compass
NODE.JS
• Server-side JavaScript
• Built on Google’s V8 Interpreter
• dependency management with node package manager (npm)
MONGODB
• An open-source JSON-style document database
• Distributed: auto-sharding, replication, high availability
• Flexible aggregation and processing with map/reduce