Iteration 3: First Implement / Test

  • The goal for this iteration is to have your dev stack stood up, with a few core features working and passing unit tests.
  • You must have a fully automated build of your project with your top-level README.md describing how to build it, and all files needed for the build must be in your repository. So e.g. for Java you will need a Maven or Gradle build file, etc.
  • By iteration 4 You must use TravisCI or other continuous integration tool/service to automatically run all of your tests at each push to your repository; iteration 3 is a good time to start working on that goal. See the tools page for details on Travis. The only exception to this requirement is if your framework is not Travis-friendly. For example IOS and Android are not Travis-friendly. Get approval from your advisor if you believe you cannot use Travis.
  • For this and subsequent iterations you are required to use the GitHub issue tracker to manage bugs, features, etc. See the OOSE Git Page for more concrete suggestions on how to use the issue tracker.
  • For this and subsequent iterations you are required to use GitHub's project boards (or similar tool with explicit advisor approval) to keep track of your progress.
    • See The GitHub project boards help pages for documentation.
    • We suggest you make a TODO and a DONE column for each iteration, and perhaps a column for all features so you can later drag them to assign to iterations.
    • Make sure to integrate your project boards with your GitHub issues - the project board lets you directly post issues there as cards.
    • You can easily move features/issues between iteration columns as things evolve -- use that ability to let your plan evolve
  • For this and subsequent iterations we require that a changelog to be kept in a top-level file CHANGELOG.md in your repo. See keepachangelog for information on how to do it; here is a good example - Dolphin Changelog
  • You need to have a codebase pushed to master on your team's GitHub repository for our inspection.