initial django install and project startup
Slight change to the directory structure.  This is closer to the base django project architecture I normally use.
added the requirements and updated settings
Tweaks to path settings
Setup initial urls, views and templates
initial game tile and board classes
generate the games tile set and determine who goes first
function to determine which tiles are available to play
Added check for winner, added property to hold winning combos
Changed available tiles function to use list comprehension, setup the initial player_move and computer_move function, and other minor tweaks.
Revamped the game board.  I've been overthinking this.  I've decided to simplify the gamedown to its most basic architecture.  There's no need to have a matrix of class instances to represent a single value.  The board can be represented most simply by just a list of values with a predefined list of winnable combinations.
Initial setup of the minimax algorithm. Also cleaned up some comments and variable naming.
Changed the check_winner function.  My attempt at a one liner just wasn't working.  i may revisit it.  Also updated minimax to remove the board copy.  It is not needed.  Additional small tweaks.
changed game init to allow specifying who starts the game.  This will help for tests and also allow better portability. Implementations can decide how to start the game instead of making it automatically random.
Added unit test to verify game results
Placed the app accidentally in middleware instead of installed apps.
removing board size property.  It's only ever used once in the init function.
cleaning up the game a little bit.  made check_winner "private" since it's only used internally. Minimax function is not quite working right. Will need to revisit.
Updated test to play recursively through all possible plays rather than just having the player move be random and going through a single game.
Added ability to init a new game instance from session data and added an instance variable to track the next users turn in the session