Skip to content

Instantly share code, notes, and snippets.

@rob0t7
Last active October 7, 2015 16:37
Show Gist options
  • Save rob0t7/87a1c96cfbde8e92b18d to your computer and use it in GitHub Desktop.
Save rob0t7/87a1c96cfbde8e92b18d to your computer and use it in GitHub Desktop.

Final Projects

It time to start our final project. Before we do, let's go over a few things shall we....

Before you start you will need to supply the following to John and myself via email:

  1. Team Members
  2. Project Description
  3. Tech stack (and short reason why)
  4. Project Name
  5. Preferences for mentor (if any)

Picking a project

There are many reason for picking a project.

  • Are you trying to build something impressive for prospective employers?
  • Are you trying to explore a technology?
  • Are you trying to practice your existing set of skills?

Development Process

Defining a MVP (i.e. scopes and feature sets)

  • What do you want your project to do?
  • How do you know if it works?
  • Will it be responsive?
    • Sketch a mobile/responsive version
    • Do you need a mobile & web scenario in your User Stories?
  • If you're not going to demo a feature, do you need to build it? (If you're launching it, yes you do.)
  • UX Checklist - https://uxchecklist.github.io/

User Stories

Wireframes

ROUTES

  • If models are nouns, these are verbs
  • RESTful
  • Each action that your models need to do

GIVE YOURSELF MILESTONES

  • Set due dates
  • Set development targets
  • MEET THEM
  • USE TRELLO

SMART Goals

  • Specific
  • Measurable
  • Achievable
  • Relevant
  • Time-based

Git

  • Don't code on master
  • Code on a feature or bugfix branch, always
  • Switch to master
  • Merge
  • Delete old branch...ONLY WHEN YOU ARE SURE MASTER WORKS
  • Make new branches for each feature or bugfix that you're working on
  • DO NOT MERGE TEN MINUTES BEFORE THE DEMO

Give Yourselves Milestones

Technology Stack

Server Framework

JS MVC Framework

  • None
  • jQuery
  • Angular
  • Ember
  • Backbone
  • React
  • Meteor
  • Why do you want this?
  • Because it's "cool"
  • Because you want the skill for a job
  • Because you read a tutorial on it
  • To help you choose...look at http://todomvc.com/

UI FRAMEWORK

  • Skeleton
  • Bootstrap
  • Foundation
  • Pure
  • Bourbon
  • RESPONSIVE?
    • Re-wireframe a mobile/responsive version
    • Do you need a mobile & web scenario in your User Stories?

(also discussed: Why Mobile First - http://www.lukew.com/ff/entry.asp?933)

Picking a Database

  • PostgreSQL
  • SQLite
  • MongoDB
  • Redis

Scaffolding

  • Download all resources you will need
  • Figure out how to install them
  • Are you going to use a generator?
    • Gulp vs. Grunt - Yeoman vs. Slush
    • Bower
  • Back-end or front-end

Front-end Scaffolding

  • Build static pages first
  • Get the CSS to work
  • Decide on ID's and classes

Back-end Scaffolding

  • Start with models
  • All database validations
  • Figure out your callbacks
  • Use as many helper methods (code atomically) as you can

DEPLOYMENT

  • Demo on localhost:3000?
  • Deploy to Heroku
  • Buy a domain, put on AWS or DigitalOcean?
  • If you're not going to demo a feature, do you need to build it? If you're launching it, yes you do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment