GithubHelp home page GithubHelp logo

anitab-org / powerup-ios Goto Github PK

View Code? Open in Web Editor NEW
40.0 20.0 109.0 108.48 MB

PowerUp is an educational choose-your-own-adventure game that utilizes a users uploaded curriculum to empower pre-adolescents to take charge of their reproductive health. This is the iOS version of the game.

License: GNU General Public License v2.0

Objective-C 29.63% Swift 70.37%
ios swift game education mobile

powerup-ios's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powerup-ios's Issues

User completes Store scenario

Description

As a player, I want to complete the "Store" scenario,
so that I can earn karma points and buy new things!

Mocks

Borrow the Phone
image

Acceptance Criteria

User interacts with an NPC.
Once conversation is finished, user is notified with the # of karma points earned.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
TBD

Newly created Avatar not saved

In certain instances of the game, newly created character is not saved and only body framework of Avatar is displayed. This usually happens when we click Start button to go to a previous instance of the game.

screen shot 2017-01-03 at 1 34 40 am
screen shot 2017-01-03 at 1 46 15 am
screen shot 2017-01-03 at 1 46 27 am

Avatar table in Database

Do we need an avatar table in our database? And is yes, what fields should be included in the table?

Mentors perform a code review on the 4th week's PR. (June 20 - June 26)

Description

As an Student,
I want to see where I can improve in my code,
so that I can manage grow my technical strengths.

Mocks

N/A

Acceptance Criteria

  • Checklist below is complete and included in a comment on this issue. (Will transfer to Wiki later.)
  • Feedback is given to the developer. (Comment on the PR.)

Definition of Done

 Complete this Code Review Checklist (Adapt as Needed).

General

  • Does the code work? Does it perform its intended function, the logic is correct etc.
  • Is all the code easily understood?
  • Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
  • Is there any redundant or duplicate code?
  • Is the code as modular as possible?
  • Can any global variables be replaced?
  • Is there any commented out code?
  • Do loops have a set length and correct termination conditions?
  • Can any of the code be replaced with library functions?
  • Can any logging or debugging code be removed?

Security

  • Are all data inputs checked (for the correct type, length, format, and range) and encoded?
  • Where third-party utilities are used, are returning errors being caught?
  • Are output values checked and encoded?
  • Are invalid parameter values handled?

Documentation

  • Do comments exist and describe the intent of the code?
  • Are all functions commented?
  • Is any unusual behavior or edge-case handling described?
  • Is the use and function of third-party libraries documented?
  • Are data structures and units of measurement explained?
  • Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?

Testing

  • Is the code easily testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
  • Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
  • Do unit tests actually test that the code is performing the intended functionality?
  • Are arrays checked for ‘out-of-bound’ errors?
  • Could any test code be replaced with the use of an existing API?

Estimation

  • 1.5 Hours

User cannot purchase 2 accessories of the same type.

Description

As an User,
I want to be able to click on several accessories of the same type when shopping without karma points being deducted for each click,
so that I see how each accessory of that type looks and decide which one I like better.

Mocks
N/A

Acceptance Criteria

User clicks on an accessor to purchase it and karma points are deducted.
User clicks on another one of the same accessory type.
The avatar is changed but no additional karma points are deducted.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
tbd

Points system

Points are received for making 'good' decisions during the game. These can be used to buy accessories for the avatar.

Mentor needs tests for already implemented code

Description

As a mentor, I want tests written for already implemented code, in order to ensure that future changes will not deteriorate consisting code and to avoid bugs. So far implemented code does not include Unit Tests (apart from Minesweeper game).

Acceptance Criteria

  • include Unit Tests
  • meaningful Testdata
  • positive / negative Tests where useful

Definition of Done

-Passes user testing per acceptance criteria items.
-Unit tests run successfully
-Approval by mentors

Estimation

User completes School scenario

Description

As a player, I want to complete the "School" scenario,
so that I can earn karma points and buy new things!

Mocks

Sex scene
image

Acceptance Criteria

User interacts with an NPC.
Once conversation is finished, user is notified with the # of karma points earned.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
TBD

Developer needs UI elements for the minesweeper game.

Description

As a developer,
I want to code the minesweeper game,
so that I can code it into the sex scenario.

Mocks

screen shot 2017-06-10 at 20 37 50

Acceptance Criteria

  • Red, Green, and White Dots all consistent.
  • Winning Screen
  • Losing Screen

Definition of Done

  • Passes user testing per acceptance criteria items.
  • Featured in design meeting.
  • Approved by UI team. (Dil & May)

Estimation

5 Hours

Handle all error conditions appropriately

Description

As a user,
I want the app to handle errors appropriately without crashing.

Acceptance Criteria

Errors that the app cannot correct will either notify the user (without crashing), and/or fail silently if the game is still able to continue.

Definition of Done

Passes unit testing of error conditions.

Estimation
tbd

Move all database access into one model class

As a developer, I want to have a centralized access to the database so that I can more easily implement new features and enhancements in the app without duplicating code.

Acceptance Criteria:
All database access in the app is refactored to go through a proxy class

Definition of Done:
Approved by code review

Combine multiple view controllers into one

As a product owner, I want the code to be easily understood so that modifications to existing screens can be made quickly without breaking code and introducing bugs. For example, Some screens in the app are actually multiple screens in the storyboard each with its own view controller and segue code. This is unnecessarily complex and duplicates code and storyboard screens. Each main screen should be redesigned so that it requires only one storyboard screen with one view controller. For example, "Choices-.swift" views should be merged and Scene.swift views should be merged.

Acceptance Criteria:

  • A developer who is new to the project can readily identify the view in the storyboard that pertains to a specific screen in the app.
  • Changes to a screen have to be made in one view only in the storyboard

Definition of Done:

  • Sequential screens and view controller code are consolidated into one screen and view controller.
  • Approved via code review.

2nd dressing room

Having completed level1, accessories can be bought using the points received and chosen in the 2nd-dressing room (this is already implemented!).

These accessories, as well as changes made in the current avatar (user can change hairstyle or clothes at the same time), should be carried through in the following levels.

Developer & Mentors need Travis-ci

Description

As a developer and mentor, I want our code to be integrated with a continuous integration and build system to ensure code quality and make code reviews easier for both mentors and developers.

Acceptance Criteria

  • setting up and configuring Travis-ci build management system
  • Travis-ci integrated with github
  • Current repo builds successfully

Definition of Done

-Passes user testing per acceptance criteria items.
-Successful build based on latest version
-Approval by mentors

Estimation

Mentors create issues for all stages' scenarios.

Description

As an Student,
I want to view all the work I need to do,
so that I can manage my time and program with weekly reports on time.

Mocks

N/A

Acceptance Criteria

  • Student can view all user stories in the issues list.
  • User stories follow this format.
  • Includes labels, assignees, and added to the "Student Tasks" Project board.

Definition of Done

  • All 5 scenarios are covered for each stage (Library, Store, Hospital, School, and Home).
  • There are 2 scenarios for Home (1 - party scene, 1 - sexual assault scene).

Estimation

  • 1 Hour

Mentors merge all PRs from Week 2 to Branch "GSoC17"

Description

As an Admin,
I want to download the current code,
so that I can perform user tests and check on the end result.

Mocks

N/A

Acceptance Criteria

  • All PRs have been reviewed by at least 1 mentor.
  • Code merged into the correct branch "GSoC17"
  • When possible, create a release file is provided in the repo.

Definition of Done

  • Week 2's code is able to be downloaded from the GSoC17 Branch in the project's repo.

Estimation

  • 0.5 Hours

Level 1 ending should have a Portrait screen

Steps to reproduce

  1. Open the PowerUp iOS app and click on Start button

  2. Enter level 1 from map and play the level

  3. Depending on various responses the level will reach to a conclusion

  4. The last screen gets tilted automatically tilted to Landscape view than Portrait view

Here is the last screen
screen shot 2017-03-21 at 2 54 30 am

Mentors perform a code review on the 1st week's PR. (May 30 - June 05)

Description

As an Student,
I want to see where I can improve in my code,
so that I can manage grow my technical strengths.

Mocks

N/A

Acceptance Criteria

  • Checklist below is complete and included in a comment on this issue. (Will transfer to Wiki later.)
  • Feedback is given to the developer. (Comment on the PR.)

Definition of Done

 Complete this Code Review Checklist (Adapt as Needed).

General

  • Does the code work? Does it perform its intended function, the logic is correct etc.
  • Is all the code easily understood?
  • Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
  • Is there any redundant or duplicate code?
  • Is the code as modular as possible?
  • Can any global variables be replaced?
  • Is there any commented out code?
  • Do loops have a set length and correct termination conditions?
  • Can any of the code be replaced with library functions?
  • Can any logging or debugging code be removed?

Security

  • Are all data inputs checked (for the correct type, length, format, and range) and encoded?
  • Where third-party utilities are used, are returning errors being caught?
  • Are output values checked and encoded?
  • Are invalid parameter values handled?

Documentation

  • Do comments exist and describe the intent of the code?
  • Are all functions commented?
  • Is any unusual behavior or edge-case handling described?
  • Is the use and function of third-party libraries documented?
  • Are data structures and units of measurement explained?
  • Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?

Testing

  • Is the code easily testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
  • Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
  • Do unit tests actually test that the code is performing the intended functionality?
  • Are arrays checked for ‘out-of-bound’ errors?
  • Could any test code be replaced with the use of an existing API?

Estimation

  • 1.5 Hours

Mentors perform a code review on the 2nd week's PR. (June 06 - June 12)

Description

As an Student,
I want to see where I can improve in my code,
so that I can manage grow my technical strengths.

Mocks

N/A

Acceptance Criteria

  • Checklist below is complete and included in a comment on this issue. (Will transfer to Wiki later.)
  • Feedback is given to the developer. (Comment on the PR.)

Definition of Done

 Complete this Code Review Checklist (Adapt as Needed).

General

  • Does the code work? Does it perform its intended function, the logic is correct etc.
  • Is all the code easily understood?
  • Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
  • Is there any redundant or duplicate code?
  • Is the code as modular as possible?
  • Can any global variables be replaced?
  • Is there any commented out code?
  • Do loops have a set length and correct termination conditions?
  • Can any of the code be replaced with library functions?
  • Can any logging or debugging code be removed?

Security

  • Are all data inputs checked (for the correct type, length, format, and range) and encoded?
  • Where third-party utilities are used, are returning errors being caught?
  • Are output values checked and encoded?
  • Are invalid parameter values handled?

Documentation

  • Do comments exist and describe the intent of the code?
  • Are all functions commented?
  • Is any unusual behavior or edge-case handling described?
  • Is the use and function of third-party libraries documented?
  • Are data structures and units of measurement explained?
  • Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?

Testing

  • Is the code easily testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
  • Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
  • Do unit tests actually test that the code is performing the intended functionality?
  • Are arrays checked for ‘out-of-bound’ errors?
  • Could any test code be replaced with the use of an existing API?

Estimation

  • 1.5 Hours

.DS_Store should be included in git ignore file

On macOS X, the .DS_Store file should not be under version control. It's an OS-generated file and not part of the source code. It should be removed from the repo and an entry added to the .gitignore file.

Test1

checking if slack integration is working.

User can play Sink to Swim Minigame

Description

As a user I want to play the Sink to Swim game,
to learn the truths and myths about contraception.

Mock

screen shot 2017-06-15 at 12 48 53

Acceptance Criteria

  • Transition to/from the minigame
  • User interacts with an NPC.
  • Also add a warning dialogue before the scenario since it addresses a sensitive issue.
  • Once conversation is finished, user is notified with the # of karma points earned.
  • Unit Tests
  • Include UI Design

Definition of Done

-Passes user testing per acceptance criteria items.
-Demo during Meeting
-Approved by Mentors & UI team. (Dil & May)

Estimation

User completes the Hospital scenario

Description

As a player,I want to complete the "Hospital" scenario,
so that I can earn karma points and buy new things!

Mocks

image
image

Acceptance Criteria

User interacts with an NPC.
Once conversation is finished, user is notified with the # of karma points earned.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
TBD

Error in Creating an Avatar for a new User.

Steps to reproduce the bug

  1. Install app for the first time.

  2. Click on Start button
    (We will get an alert asking to create a new user)

  3. Click on New User button

  4. Navigate back to the home page without creating a user.

  5. Click on Start Button

  6. Navigates to the map but the user is not created ... Resulting an inappropriate user image.

The following is the screenshot showing the above mentioned bug.

screen shot 2017-03-21 at 1 10 17 am

(Since the user is not created .... It doesn't have a head.)

I would like to fix this bug.
Thank you :)

Mentors merge all PRs from Week 1 to Branch "GSoC17"

Description

As an Admin,
I want to download the current code,
so that I can perform user tests and check on the end result.

Mocks

N/A

Acceptance Criteria

  • All PRs have been reviewed by at least 1 mentor.
  • Code merged into the correct branch "GSoC17"
  • When possible, create a release file is provided in the repo.

Definition of Done

  • Week 1's code is able to be downloaded from the GSoC17 Branch in the project's repo.

Estimation

  • 0.5 Hours

Enhancement of Left and Right button while Avatar Customization

The left and right buttons of the hair, eyes, clothes and face stop when they reach the end points of the hair, eyes, clothes and face image arrays respectively. The right button should come back to the first image in the array after it reaches the end of the images and the left button should go to the end of the array after it reaches the first image. This can maintain the flow of the application.

Layout issues in iPad .

simulator screen shot 14-mar-2017 3 30 37 am
As you can see there is layout issue in iPad( also #53 ). i'd like to add autolayout parameters to it . should i submit a PR for this ?

Mentors perform a code review on the 3rd week's PR. (June 13 - June 19)

Description

As an Student,
I want to see where I can improve in my code,
so that I can manage grow my technical strengths.

Mocks

N/A

Acceptance Criteria

  • Checklist below is complete and included in a comment on this issue. (Will transfer to Wiki later.)
  • Feedback is given to the developer. (Comment on the PR.)

Definition of Done

 Complete this Code Review Checklist (Adapt as Needed).

General

  • Does the code work? Does it perform its intended function, the logic is correct etc.
  • Is all the code easily understood?
  • Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
  • Is there any redundant or duplicate code?
  • Is the code as modular as possible?
  • Can any global variables be replaced?
  • Is there any commented out code?
  • Do loops have a set length and correct termination conditions?
  • Can any of the code be replaced with library functions?
  • Can any logging or debugging code be removed?

Security

  • Are all data inputs checked (for the correct type, length, format, and range) and encoded?
  • Where third-party utilities are used, are returning errors being caught?
  • Are output values checked and encoded?
  • Are invalid parameter values handled?

Documentation

  • Do comments exist and describe the intent of the code?
  • Are all functions commented?
  • Is any unusual behavior or edge-case handling described?
  • Is the use and function of third-party libraries documented?
  • Are data structures and units of measurement explained?
  • Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?

Testing

  • Is the code easily testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
  • Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
  • Do unit tests actually test that the code is performing the intended functionality?
  • Are arrays checked for ‘out-of-bound’ errors?
  • Could any test code be replaced with the use of an existing API?

Estimation

  • 1.5 Hours

Mentors merge all PRs from Week 4 to Branch "GSoC17"

Description

As an Admin,
I want to download the current code,
so that I can perform user tests and check on the end result.

Mocks

N/A

Acceptance Criteria

  • All PRs have been reviewed by at least 1 mentor.
  • Code merged into the correct branch "GSoC17"
  • When possible, create a release file is provided in the repo.

Definition of Done

  • Week 4's code is able to be downloaded from the GSoC17 Branch in the project's repo.

Estimation

  • 0.5 Hours

User completes the Home Scenario.

Description

As a player, I want to complete the "Store" scenario,
so that I can earn karma points and buy new things!

Mocks

Borrow the Phone
image

Acceptance Criteria

User interacts with an NPC.
Once conversation is finished, user is notified with the # of karma points earned.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
TBD

User can change her mind after clicking on an accessory to purchase

Description

As an User,
I want to be able to reverse an accessory purchase before I save the avatar,
so that I can change my mind if I don't like the accessory look on the avatar.

Mocks
N/A

Acceptance Criteria

User clicks on an accessor to purchase it and karma points are deducted.
User can reverse that purchase before the avatar is saved and the karma points are 'refunded'.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
tbd

Mentors merge all PRs from Week 3 to Branch "GSoC17"

Description

As an Admin,
I want to download the current code,
so that I can perform user tests and check on the end result.

Mocks

N/A

Acceptance Criteria

  • All PRs have been reviewed by at least 1 mentor.
  • Code merged into the correct branch "GSoC17"
  • When possible, create a release file is provided in the repo.

Definition of Done

  • Week 3's code is able to be downloaded from the GSoC17 Branch in the project's repo.

Estimation

  • 0.5 Hours

User completes the Library Scenario

Description

As a player,
I want to complete the "Library" scenario,
so that I can earn karma points and buy new things!

Mocks

Puberty Research
image

Acceptance Criteria

User interacts with an NPC.
Once conversation is finished, user is notified with the # of karma points earned.

Definition of Done

Passes all regression tests.
Passes testing per acceptance criteria items.
Approved by UI team.
Able to show feature in demo.

Estimation
TBD

Redundant Health Bar

In the dressing room scene, there are two health bars. The wooden one does not appear in the Android version.
screen shot 2016-12-19 at 10 42 57 am

Add debriefing after each level/scenario

While the iPod scenario currently has a brief summary of the outcome, there should be a page that goes over the lessons taught in the scenario. For the iPod scenes, this could be talking about how to communicate assertively and use "I" statements. For the unprotected level, this could cover the importance of communication between partners and positivity towards safe sex and that there are high risks from unprotected sex.

The code should be restructured

Currently, the question sets and scenes are rather hard-coded. There are many classes with almost the same code. (especially the classes below)

2017-03-01 10 10 14

The multiple "Choices" UIControlViews should be rewritten in one.

User completes the Home Scenario -2

Description


As a player,
I want to complete the "Home" scenario-2,
so that I can earn karma points and buy new things!
This scenario is to be completed after the first five stages.

Mocks


image

Acceptance Criteria


  • Also add a warning dialogue before the scenario since it addresses a sensitive issue.
  • User interacts with an NPC.
  • Once conversation is finished, user is notified with the # of karma points earned.
  • Triggered after all stages (Home, Library, School, Hospital) are done.

Definition of Done


  • Passes all regression tests.
  • Passes testing per acceptance criteria items.
  • Able to show feature in demo.

Estimation


2 Hours

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.