Skip to content

Meeting notes

rbrousla edited this page Dec 4, 2012 · 41 revisions

August 28, 2012

  • Played a little Starcraft and Diablo 3
  • Mentioned that the summer reading assignment was Clean Code
  • Went over syllabus
  • Discussed possible projects (names, urls, ...)
  • Looked at previous LMU CMSI 401 projects
  • Watched cleancoder rationale video

August 30, 2012

  • Finalized name - wutup -- and decided to look for domain wutupwith.us
  • Sketched out use cases
  • Did some architecting
  • Talked about UML (a little bit)
  • Watched Episode 1 of Clean Code
  • Looked at last year's meeting notes
  • Went over pros and cons of GAE, decided to use it
  • Assignment: Review github repo (code and wiki) of last year's project, Ktah

September 4, 2012

  • Set up wiki
  • Enhanced the README
  • Talked a little about Markdown
  • Discussed webservice and iOS/android native apps
  • Reviewed Goto and How to write good code XKCD
  • Discussed Epic (parent) and User Story formatting and inclusion into RallyDev
  • Check out RallyDev stories and tasks plus real life examples from CityGrid
  • Agnes - "you broke the build!": Don't check in broken changes!!!
  • Agile development : sprints, user stories and tasks
  • Discussed the [Agile Software Development Manifesto] (http://agilemanifesto.org)
  • Discussed sw research/prototypes/starter that Toal wrote

September 6, 2012

  • Video of The Power of Motivation
  • Architecture discussion
  • Marc arrived for the last 20 minutes of class
  • History of the Internet
  • http protocol requests and responses
  • http status codes

September 11, 2012

  • Pull git repo!!! Toal default starter project
  • What is a web service review
  • Discussed technologies: GAE, Maven, Spring, Jersey, JaxB/Jackson, JUnit, Mockito, H2, Tomcat, Cargo
  • Sam showed up late at 11:03am, Marc still not here.
  • Maven goals in default life cycle: validate, compile, test, package, integration_test, verify, install, deploy.
  • Http response codes review
  • URI design
  • Review POM
  • Application Architecture
  • Reviewed event object and event resources.
  • Marc never showed up.

September 13, 2012

  • How to run all tests except integration test
  • Sam showed at 11:03
  • Discuss objects
  • Tangent discussion of Date programming
  • Marc arrives at 11:30am...
  • Major rewrite of event object.

September 18, 2012

  • Discuss standup procedure
  • Tyler found a Facebook library
  • Lets do the standup.

September 20, 2012

  • Held first standup
  • Rich ran the Rally board
  • Everyone had stories completed except Marc
  • Revisited architecture
  • Was a category class required? A location class?
  • How should we handle events that have multiple occurrences and span multiple locations?
  • Developed new UML class diagram
  • Discussed the scope of use cases
  • Reiterated that UML was not for detailed blueprinting, but only for (1) conceptual design when done early, or (2) "As-built" documentation when done after coding
  • Created stories for Sprint 2 and tasked them out

September 25, 2012

  • Review grading procedures
  • Sam arrived on time but Eric was late
  • Marc isn't here...
  • Grades based on: Code Reviews, Databases, Dev/Prod/QA, Manual testing?
  • Code review is based on Toal looking, reviewing code and fixing inline with annotations.
  • Reviewed Eric's USER object and tests in class... he need to add toString() method.
  • Marc arrived at 11:30am
  • Tests are always INDEPENDENT!!!!!!!
  • Reviewed manual testing and integration tests.
  • Discussed CARGO, H2 and SPRING.

September 27, 2012

  • Wutup! No one took notes today on what we did?

October 2, 2012

  • A little bit of contention and arguing because the build was in a state of unit tests pass, integration tests failed
  • 10 minutes in, KIN LANE SHOWED UP!
  • Great discussion as Kin talked about:
  • the business of APIs
  • the history of APIs
  • the API ecosystem
  • who is doing what in the API world
  • himself
  • the U.S. government API strategy
  • authentication and authorization, and OAuth
  • the importance of having consumed APIs before setting out to write one's own
  • We discussed our project with Kin
  • Kin even went over design choices for endpoints with a few students
  • Marc never showed up

October 4, 2012

  • Discussed our wallowing project, how to get unstuck
  • Reviewed domain objects and schema (that RB and Dr. Toal worked on)
  • Reviewed architecture posted to project wiki

October 9, 2012

  • Reviewed updated domain schema
  • Marc arrived at 11:07, yay!
  • Code review where Dr. Toal took some of our code and made it so much cuter:
  • Learned that toString is used for logging and debugging, so we can omit null values
  • ToString methods should always be at the bottom of the class, per company standard
  • "Getters before setters" - Dr. Toal
  • Null tests should be done in the model classes and not at the dao level
  • Debugged.
  • Discussed whether models should store related objects or just the object IDs.
  • Learned that example.com is reserved for documentation purposes and can always be used in tests

October 11, 2012

  • Wutup! No one took notes today on what we did?

October 16, 2012

  • Mellow, low-key working day.
  • Guest speaker: Rebecca Stillman from ZEFR talked about her company, her industry, and talked about the upcoming hackathon.

October 18, 2012

  • Wutup! No one took notes today on what we did?

October 23, 2012

  • Wutup! No one took notes today on what we did?

October 25, 2012

  • Made QueryBuilder unit tests made in class because Andy didn't follow TDD.
  • Reviewed how services and impls should be separated.
  • Reviewed Mockito and how to do service unit tests.
  • Reviewed changes to code made by Dr. Toal.
  • Learned that when using @QueryParam it's good to always get String so Jax-RS doesn't try to handle incorrect types; takes away control of errors.
  • Assigned new tasks for next iteration:
  • Finish migration from PUT to PATCH.
  • Rebuild QueryBuilder from Dr. Toal's QueryBuilder Wish List.
  • Create a new Pagination class.
  • Learned that Mustache makes logic go away by doing things like:
<head>
  <script src="https://raw.github.com/janl/mustache.js/master/mustache.js"></script>
</head>

<body>
  <div id="message"></div>
  <script>
    var view = {
      title: "Joe",
      calc: function () {
        return 2 + 4;
      }
    };

    document.getElementById("message").innerHTML = Mustache.render("{{title}} spends {{calc}}", view);
  </script>
</body>

October 30, 2012

  • Standup Reports:
  • Tyler: Refactored geocoding system. Created a GoogleGateway that can be independently mocked. Added lots of tests. Misc. Refactoring.
  • Andy: Not much. Ready to blast out a new, or integrate an existing, SQL builder.
  • Sam: Research client side stuff. Chose Apache Wicket. Major implementation push.
  • Allyson: Client mockups done. Going to research Bootstrap.
  • Rich: Will be getting up to speed.
  • Marc: Android client. Work is progressing. Google Maps integration done. IntelliJ to Eclipse migration took some time.
  • Eric: Implemented patch for Event / User. Work needs to be done on query builder and queries for resources / domain classes.
  • Sam went over the client.
  • Discussion of rebasing. Yes, we had to do it. :(
  • By Nov 8th, have data displayed.

November 1, 2012

  • Short standup.
  • The class broke into groups.
  • Client group (Sam and Allyson) did some planning.
  • Tyler filled Rich in with a grand tour.
  • Marc went solo on Android work; had trouble with his laptop.
  • Eric and Andy did some work on the service, including an SQL builder.

November 6, 2012

  • In class exercise of a major refactoring effort.

November 8, 2012

  • Guest lecturer: Aghyan Alzuabi on Agile Project Management (was well received).

November 13, 2012

  • Marc committed no changes to repo, showed up for late for class.
  • Fixed broken build - tests failed due to event id already existed when attempting to create new event. Discussed that we should have auto id generation/assignment in event factory.
  • Sam Bugged: Debug why DateTimes being returned from H2 are missing hours, minutes or seconds, Eric solved by changing rs.getDate to rs.getTimestamp.
  • Add logging to the project, running tomcat under cargo so where is the log file being generated? Configured a log4j properties file for console.
  • Discussed how client knows you are logged in without service session support.

November 15, 2012

  • Wutup? No one took notes for this day.

November 20, 2012

  • Guest speaker from LMU Entrepreneurship Club, who has also himself founded a couple companies.

November 27, 2012

  • Bobby Tables (SQL Injection) Lecture
  • Reviewed how SQL statements are compiled (prepared) and why query parameters prevent injection attacks
  • Talked about how autocomplete works
  • Searched for information on autocomplete in Android
  • Class exercise on fixing code that was giving a 500 when it should have given a 400
  • Showed that nearly all POST, PUSH, and PATCH methods were missing this validation
  • Discussion on moving validation from resource classes to a separate validator
  • Need logging for querybuilder... Andy to do and already did!

November 29, 2012

  • Rally dev stand up
  • Marc to enter his tasks in Rally under user stories
  • Client questions about creating events without an existing venue.
  • Venue must be created first, due to db constraints.
  • Usage of HEAD, gives back response without body.
  • Decided to kill category functionality, not enough time.
  • Discussion surrounding client consistency and the web service.
  • Discussion of the prezi content.
  • Tighten up service and client Use Cases
  • Check every end point from client
  • More aggressive logging
  • add Authentication, auth and https

December 4, 2012

  • Review the status of project
  • Can we adjust scope of the project?
  • kill categories
  • kill event comments and venue comments
  • Sam gave UI demo
  • Michael Licht (ex EA) came to speak with class.