Release Candidate 1¶
Due Date¶
Sunday, April 5
Grading: Team
Description¶
As with all Releases, you will set up a set of Issues in your GitHub which list all the features you will implement by the deadline. Associate these Issues with the RC1 Milestone. We will use these features for grading.
This release has implemented all the features of your app and has no bugs. At least, no bugs that have been detected by your careful testing. Basically, you believe that this release is the final one. You think that no more coding is required. You might, or might not, be proven correct by your customers (that is, us).
Facilitate Testing¶
You are required to make it easy for us to test your app. This means that:
- Your Release Notes must have all the information we need to test your app: usernames, passwords, input data files, etc.
- Your app must be pre-populated with realistic data, user accounts, etc. if this is needed to test the app. For example, if your app is a social media app, you should have some pre-populated user accounts with posts and followers.
- Do not hardcode inputs. For example, if you claim to have implemented the ability to "draw line charts" then your app must let the user enter the data that will be in the line chart. In some cases this might require adding a "test mode" to your app.
- Your game must have a "test mode" that we can use to test the game mechanics without having to play through the game.
- If your app requires deep domain knowledge that we don't have (ex. a medical app) you should provide us with a tutorial that teaches us how to use the app. You can add it to your repo wiki.
Deliverables¶
Your Deliverable is the GitHub Release. You will:
- Create a git tag
on the commit that marks the release. For example:
git tag v0.1for the Proof of Concept Release,git tag v0.5for the Beta Release, and so on. - Push tags to GitHub:
git push --tags. Once pushed to GitHub you will find a Release page with the tag name you used in your GitHup repo page. You can rename it there if you like. If you can't get tags to work just create the Release with GitHub.
If you have an Android mobile or desktop app you will:
- Upload your binary (.apk .exe, etc.) to that Release. To do this on GitHub you just click on the Release, then click "Edit Tag", then click where it says "Attach binaries by dropping them here or selecting them".
If you have an iOS app you will:
- Send me and the TAs an invite to your TestFlight release.
If you have a webapp you will:
- Publish your webapp on the Internet.
- Put the URL of your deployed app in the description textbox for that Release (click on the Release, then click on "Edit Tag" to edit the description). Also, if I need a username/password to access your site make sure you write those down in the textbox, and attach any other files or binaries I might need to test your app (ex, things to upload).
- The webapp must be accessible until you received the grade for this Milestone.
- Do not update the deployed webapp until after you get the grade for this Milestone.
Grading¶
We will be checking all your approved GitHub associated with this Milestone. We will be looking for a fully-featured app as defined in the 1.0 Release Milestone.