Skip to content

Instantly share code, notes, and snippets.

@donburks
Last active February 24, 2016 20:43
Show Gist options
  • Select an option

  • Save donburks/dc41d54db4c4bdf20048 to your computer and use it in GitHub Desktop.

Select an option

Save donburks/dc41d54db4c4bdf20048 to your computer and use it in GitHub Desktop.
Project Planning

IDEA

  • What data do you have access to?
  • Can you correlate that data to something else?
  • How can you pivot that data to add value?

Universal Values

  • Look good
  • Feel good
  • Save time
  • Save money (resources)

DATABASE

  • SQL
    • MySQL / Percona / MariaDB
    • PostgreSQL
    • SQLite
  • NoSQL
    • MongoDB
    • CouchDB
    • Redis
    • RethinkDB

USER STORIES

DEPLOYMENT

  • Work on localhost?
  • Deploy to Heroku
  • Buy a domain, put on AWS, Azure, 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.

DATA

  • ERD
  • Tables/Collections
    • Fields
    • Initial schema, doesn't have to be complete
  • Tables/Models are your Nouns

SERVER FRAMEWORK

  • Ruby
    • Sinatra
    • Rails
  • PHP
    • Laravel
    • CodeIgniter
  • Node
    • Express
    • Koa
    • LoopBack
    • hAPI
    • SailsJS
  • Python
    • Flask
    • Django

ROUTES

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

WIREFRAME/DESIGN

UI FRAMEWORK

  • Bootstrap

  • Foundation

  • Pure

  • Skeleton

  • SASS

    • Bourbon
    • Black Hole
  • Flexbox

    • Bulma
  • RESPONSIVE?

    • Re-wireframe a mobile/responsive version
    • Do you need a mobile & web scenario in your User Stories?

JS MVC Framework

  • Angular
  • Ember
  • Backbone
  • Knockout
  • 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

GIT

  • Don't code on master
  • Pick a workflow - git or github
  • 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

SCAFFOLDING

  • Download all resources you will need
  • Figure out how to install them
  • Are you going to use a buildtool?
    • Webpack
    • NPM
    • Browserify
  • Are you going to use a generator?
    • MAKE SURE IT WORKS FOR YOU!
    • Gulp vs. Grunt - Yeoman vs. Slush
    • Bower
  • Back-end or front-end - where to start?

FRONT-END SCAFFOLDING

  • Build static pages first
  • Get the CSS to work
  • Decide on ID's and classes
  • If building responsively, make sure it works before making it dynamic
  • Responsive images?

BACK-END SCAFFOLDING

  • Start with models
  • All database validations
  • Figure out your callbacks
  • Build in the pattern that MVC implies:
    • Router
    • Controller
    • Model
    • View
      • Views can be copied from static versions of pages
  • Use as many helper methods (code atomically) as you can

GIVE YOURSELF MILESTONES

  • Use Trello/Pivotal/JIRA
  • Set due dates
    • MEET THEM
  • Set development targets
    • MEET THEM

SMART Goals

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

Communication

  • Slack
  • Telegram
  • HipChat
  • WhatsApp
  • E-mail
  • Trello
  • SMS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment