Your goal for this sprint is to get the groundwork laid out to produce a successful software project. You should create a git repository on Github, and you should have project approval.

Part 1: Planning

You should complete everything in the "Proposal/Project management" section of the project page. Keep in mind that these documents may be updated throughout the rest of the course, but an initial version is due for Sprint 1.

  1. You should have a proposal document that has a description of your project in some detail. This should be several written paragraphs that expand what you described in the project survey.

    • Create a /doc/proposal.md document

  2. Your planning system will be your GitHub projects tab.

    • Create a project board on the GitHub project for your group with at least a TODO, DOING, and DONE column and add your group members.

  3. You should have an organization/roles document that describes accurately what each member will contribute. This is a short document, but you may write any details necessary.

    • Create a /doc/organization.md document that describes your roles

    • Create a /AUTHORS file that contains only a line separated list of project members

  4. Miscellaneous documents

    • Create a /LICENSE file that contains your license. Check out Choose a License for guidance on this choice. If you choose to keep the project "closed source" (still public), then your license should note a copyright, year, and all rights reserved.

    • Create a /README.md file that explains the project and how to build the project. Check out other people’s work on Github for inspiration. Be sure to use nice formatting.

    • Create a /.gitignore file matching your particular project structure. You may generate one from http://gitignore.io.

Part 2: Prototype

Documentation is a useful tool to get the "ship sailing" so to speak, but it is important to explore the tools and technologies that you will be using to implement the software. You will build simple prototype that shows that you have started looking at the project and how to get it done.

For example:

  • If you are building a website, build one or two pages that use the same kinds of javascript libraries, back end libraries, databases, and other tools that you will be using.

  • If you are building a game, get a basic window showing and have the ability to accept input and show basic graphics (does not need to be fancy!).

Strong prototypes will:

  • not include fully finished features

  • include proof of concept unit tests that demonstrate a working knowledge of setting up and running tests

  • be well documented

  • be well formatted, idiomatic code. Use a code linter (built into some IDEs) and verify that you are programming with quality.

Evaluation

Points on the first sprint will be split between the two parts. Detail oriented work will receive full credit. Show your work! If you encounter problems, note them in the project documentation. Feel free to add MORE documents than specified!

Files

Your GitHub project will have the following files:

  • /doc/proposal.md

  • /doc/organization.md

  • /AUTHORS

  • /LICENSE

  • /.gitignore

  • /README.md

  • /src/<your source code goes here>