Beta Release Milestone¶
Due Date¶
Sunday, March 1
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 Beta Milestone. We will use these features for grading.
For a beta release we want all, or almost all, of the main features to be implemented. Your app should be usable: no show-stopper bugs, no major crashes. It is OK if smaller features have not been implemented or bugs remain to be fixed. Cosmetic problems are OK. That is, it should a minimum viable product (MVP).
You will give this release to your prospective users or client, and ask them for feedback. You will be happy to implement any new critical features they want, and fix all the bugs they find, before the RC1. To say organized, add as GitHub Issues any feedback you receive from the users or client. That is, for every feature request they make you will add a new enhancement Issue, for every bug they report add one bug issue. You can later decide if you will implement/fix these or not.
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 Issues associated with this Milestone.