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.

Overview
Branch Status
master Build Status
develop Build Status

PowerUp - iOS

PowerUp is an educational mobile game app that seeks to empower young girls to take charge of their reproductive health and self-esteem by navigating the life of their Avatar.

Setup for Developers

  1. Make sure you have Xcode IDE downloaded on your machine for software development for iOS.
  2. Fork the anitab-org project. Go to Powerup-iOS and click on Fork in the top right corner. Fork the repo on your Github id. Make sure that you don’t have any existing repo with the same name in your profile else there will be conflicts.
  3. Make sure you have installed Github Desktop(for Mac).
  4. Open Github Desktop, click on Clone Repository in File Menu. Clone the forked repo to get a local copy on your system.
  5. Fetch the latest version of code from the appropriate branch (usually "develop").

Configure remotes

When a repository is cloned, it has a default remote called origin that points to your fork on GitHub, not the original repository it was forked from. To keep track of the original repository, you should add another remote named upstream:

  1. Get the path where you have your git repository on your machine. Go to that path in Terminal using cd. Alternatively, Right click on project in Github Desktop and hit ‘Open in Terminal’.
  2. Run git remote -v to check the status you should see something like the following:

origin https://github.com/YOUR_USERNAME/powerup-iOS.git (fetch)
origin https://github.com/YOUR_USERNAME/powerup-iOS.git (push)

  1. Set the upstream:
    git remote add upstream https://github.com/anitab-org/powerup-iOS.git
  2. Run git remote -v again to check the status, you should see something like the following:

origin https://github.com/YOUR_USERNAME/powerup-iOS.git (fetch)
origin https://github.com/YOUR_USERNAME/powerup-iOS.git (push)
upstream https://github.com/anitab-org/powerup-iOS.git (fetch)
upstream https://github.com/anitab-org/powerup-iOS.git (push)

  1. To update your local copy with remote changes, run the following:
    git fetch upstream develop
    git rebase upstream/develop
    This will give you an exact copy of the current remote, make sure you don't have any local changes.
  2. Project set-up is complete.

Contributing and developing a feature

  1. Make sure you are in the develop branch git checkout develop.
  2. Sync your copy git pull --rebase upstream develop.
  3. Create a new branch with a meaningful name git checkout -b branch_name.
  4. Develop your feature on Xcode IDE and run it using the simulator or connecting your own iphone.
  5. Add the files you changed git add file_name (avoid using git add .).
  6. Commit your changes git commit -m "Message briefly explaining the feature".
  7. Keep one commit per feature. If you forgot to add changes, you can edit the previous commit git commit --amend.
  8. Push to your repo git push origin branch-name.
  9. Go into the Github repo and create a pull request explaining your changes.
  10. If you are requested to make changes, edit your commit using git commit --amend, push again and the pull request will edit automatically.
  11. If you have more than one commit try squashing them into single commit by following command:
    git rebase -i origin/master~n master(having n number of commits).
  12. Once you've run a git rebase -i command, text editor will open with a file that lists all the commits in current branch, and in front of each commit is the word "pick". For every line except the first, replace the word "pick" with the word "squash".
  13. Save and close the file, and a moment later a new file should pop up in editor, combining all the commit messages of all the commits. Reword this commit message into meaningful one briefly explaining all the features, and then save and close that file as well. This commit message will be the commit message for the one, big commit that you are squashing all of your larger commits into. Once you've saved and closed that file, your commits of current branch have been squashed together.
  14. Force push to update your pull request with command git push origin branchname --force.

Contributing Guidelines

Click here to find the contributing guidelines for the project and follow them before sending a contribution.

Documentation of PowerUp-iOS

Links to the Documentation:

2017
2016
2015

Contact

You can reach the maintainers and our community on AnitaB.org Open Source Zulip. If you are interested in contributing to the PowerUp, we have a dedicated stream for this project #powerup, where you can ask questions and interact with the community, join with us!

Comments
  • Change background image constraints of Avatar View

    Change background image constraints of Avatar View

    Description

    In this Pull Request, I changed the constraint of Avatar View so their Background looks beautiful and stretch on the whole screen.

    systers PR

    Fixes #361

    Type of Change:

    • Quality Assurance
    • User Interface

    Code/Quality Assurance Only

    • Bug fix (non-breaking change which fixes an issue)

    How Has This Been Tested?

    On simulator

    Checklist:

    Delete irrelevant options.

    • [x] My PR follows the style guidelines of this project
    • [ ] I have performed a self-review of my own code or materials

    Code/Quality Assurance Only

    • [x] My changes generate no new warnings
    opened by anubhavpulkit 17
  • Modifying AboutView Controller

    Modifying AboutView Controller

    Description

    As a developer, I want to change the about screen so that the android and iOS version of app will be consistent..

    Mocks

    image

    Acceptance Criteria

    When About Screen is made consistent with android.

    Update [Required]

    • [ ] [LIST ITEMS]

    Enhancement to Update [Optional]

    • [ ] [LIST ITEMS]

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    4 hours

    Port from Android 
    opened by SIMRAN1 17
  • Make ReadMe.md more interactive

    Make ReadMe.md more interactive

    Description

    As a user, I want to add some screenshots of PowerUp app, margins and redesign Readme.md so that [Readme file looks more interactive and decent not so bulky].

    Acceptance Criteria

    Update [Required]

    • [x] [Changes in Readme.md]

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    [2] hours

    Category: Documentation/Training 
    opened by anubhavpulkit 15
  • Travis CI test cases is not running

    Travis CI test cases is not running

    Description

    As a user, I saw Travis CI test cases are not working after moving from Systers to AnitaB.org, I need to do changes in Travis CI test link so that Travis CI test run as before.

    Acceptance Criteria

    Update [Required]

    • [x] [changes in Travis CI test link

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    [1] hours

    opened by anubhavpulkit 15
  • Adding Game Completion Screen.

    Adding Game Completion Screen.

    Description

    Added Game completion screen to make app consistent with android and to notify user when the game is completed.

    Fixes #242 image

    Type of Change:

    Delete irrelevant options.

    • Code
    • User Interface

    Code/Quality Assurance Only

    • Bug fix (non-breaking change which fixes an issue)
    • New feature (non-breaking change which adds functionality pre-approved by mentors)

    How Has This Been Tested?

    Game completion screen is added after Library scenario completion.I have tested it in simulator.

    Checklist:

    Delete irrelevant options.

    • [x] My PR follows the style guidelines of this project
    • [x] I have performed a self-review of my own code or materials
    • [ ] I have commented my code or provided relevant documentation, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] Any dependent changes have been merged

    Code/Quality Assurance Only

    • [x] My changes generate no new warnings
    • [ ] My PR currently breaks something (fix or feature that would cause existing functionality to not work as expected)
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [ ] Any dependent changes have been published in downstream modules
    opened by SIMRAN1 15
  • Wiki Sidebar Update

    Wiki Sidebar Update

    Description

    As a newcomer, I need to navigate the repo successfully, so that I can understand where the project is in its development.

    Mocks

    screen shot 2018-04-19 at 3 47 20 pm

    Acceptance Criteria

    Update [Required]

    Enhancement to Update [Optional]

    • [ ] Link all GSoC/Outreachy student's pages if applicable.
    • [ ] Link Final Reports page if applicable.

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 3 Community Members.

    Estimation

    10-30 minutes

    Type: Maintenence Status: Available Category: Documentation/Training Difficulty: EASY 
    opened by mayburgos 14
  • Added Labels to Paid Items

    Added Labels to Paid Items

    The goals covered in this PR are:

    1. Database and UI changes for addition of points to Clothes, Hair and Accessories screens in Dressing Room-2.
    2. Labelling paid items when user clicks on the specific item in Clothes, Hair and Accessories screens.
    3. Subtraction of points from Karma when an item is bought. An alert message pops up if there are insufficient points to buy items.
    4. Pressing Start button restores the previous instance of the game while New User button creates a New Avatar and a new instance of the game.
    opened by sanyajain 14
  • Requesting App Ratings

    Requesting App Ratings

    Description

    Requesting ratings in Powerup-iOS apps. Starting with iOS 10.3, Apple introduced the new SKStoreReviewController class to standardize this interaction.

    Choosing where and when to display this prompt is critical to your success using this API. The moment the system shows the prompt to the user can have a great effect on the result when requesting app rating that's why I choose 'Sink To Swim' Game up to 'sink to swim' user experience full app to give a rating and when the transition to the game over scene then displays an in-app prompt that asks for a rating.

    PR3

    Note: The Submit button will appear grayed out since you are in development mode. It will appear enabled for users using your app through the App Store.

    pr3 1

    Fixes #334

    Type of Change:

    Delete irrelevant options.

    • Code
    • Quality Assurance
    • User Interface

    Code/Quality Assurance Only

    • Bug fix (non-breaking change which fixes an issue)

    • New feature (non-breaking change which adds functionality pre-approved by mentors)

    How Has This Been Tested?

    On Simulator

    Checklist:

    Delete irrelevant options.

    • [x] My PR follows the style guidelines of this project
    • [x] I have performed a self-review of my own code or materials
    • [x] I have commented my code or provided relevant documentation, particularly in hard-to-understand areas

    Code/Quality Assurance Only

    • [x] My changes generate no new warnings
    • [ ] My PR currently breaks something (fix or feature that would cause existing functionality to not work as expected)
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    opened by anubhavpulkit 13
  • Modifying AboutView Controller

    Modifying AboutView Controller

    Description

    I think about view is more beautiful and impactful if it looks normal without any complexity, So I send this PR to present the same.

    Fixes #243

    Type of Change:

    Delete irrelevant options.

    • Code
    • Quality Assurance
    • User Interface
    • Outreach

    Code/Quality Assurance Only

    • Bug fix (non-breaking change which fixes an issue)

    How Has This Been Tested?

    On simulator

    Checklist:

    Delete irrelevant options.

    • [x] My PR follows the style guidelines of this project
    • [x] Any dependent changes have been merged

    Code/Quality Assurance Only

    • [x] My changes generate no new warnings
    • [x] Any dependent changes have been published in downstream modules
    opened by anubhavpulkit 12
  • First letter of text in the storySequence is visible in X modes

    First letter of text in the storySequence is visible in X modes

    Description

    First letter of story sequence is hidden by the notch in X and new models.

    Mocks

    systers issue sequence story

    systers issue story sequence 3

    Acceptance Criteria

    Update [Required]

    • [x] [add safe area constraints in story sequence]

    Definition of Done

    • [x] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    [2] hours

    opened by anubhavpulkit 11
  • Enhancement of AboutViewController

    Enhancement of AboutViewController

    Description

    Enhancement of AboutViewController

    Fixes [#243 ]

    Type of Change:

    Delete irrelevant options.

    • Code
    • Quality Assurance
    • User Interface
    • Outreach

    MockUp

    WhatsApp Image 2020-02-25 at 12 59 16 AM WhatsApp Image 2020-02-25 at 1 04 47 AM

    Code/Quality Assurance Only

    • My changes generate no new warnings
    • My PR currently breaks something (fix or feature that would cause existing functionality to not work as expected)
    • New and existing unit tests pass locally with my changes
    • Any dependent changes have been published in downstream modules
    • Bug fix (non-breaking change which fixes an issue)
    • New feature
    • Tested On simulator

    Code On

    • AboutViewController
    • Added TableView and Extension
    • Added collapsed Feature In there
    • Created AboutViewController.swift
    • TableViewDeleGate for changing in tableView
    • Created aboutTableViewCell
    • edited String.swift

    Get To Know/Personal Achievement

    • String.swift
    • Structure of PowerUp
    • Gets idea about future proposal
    • Style Guideline
    • Guidance with mentors
    opened by MANI14011998 11
  • Unit test ShopViewControllerTests.testUpdateExhibition() is failing

    Unit test ShopViewControllerTests.testUpdateExhibition() is failing

    Description

    As a developer, I need to all unit tests to pass, so that I can continue to add/change code without introducing new bugs.

    Note: Currently the test 'ShopViewControllerTests.testUpdateExhibition()' is failing.

    Acceptance Criteria

    Update [Required]

    • [x] All unit tests pass

    Definition of Done

    • [x] All of the required items are completed.
    • [x] Approval by 1 mentor.

    Estimation

    1 hours

    Priority: HIGH Category: Coding Difficulty: MEDIUM 
    opened by sunjunkie 3
  • Update Readme file

    Update Readme file

    Description

    As a user, I need to be able to easily find some documentation on the Powerup app so that I can understand what the app is all about.

    Acceptance Criteria

    Update [Required]

    • [x] [Adding some documentation of the Powerup app]

    Enhancement to Update [Optional]

    • [x] [Adding related screenshots, video clips, tutorials]

    Definition of Done

    • [x] All of the required items are completed.
    • [x] Approval by 1 mentor.

    Estimation

    [3] hours

    opened by anubhavpulkit 18
  • Final Score of First level

    Final Score of First level

    Description

    As a user, I need to know my final score after first level, I need to add a new UI view controller for the final score, so that I can after completion of sink to swim main-game I know my final score.

    Acceptance Criteria

    Update [Required]

    • [x] [A new UI view Controller.swift]
    • [x] [A view controller]
    • [x] [Add test for final score]

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    [10] hours

    opened by anubhavpulkit 2
  •  pros & cons scene is not shown

    pros & cons scene is not shown

    Description

    As a user I didn't see any Pro and Cons scene after Minesweeper game, I need to do changes in minesweeperGameScene.swift, so that pro and cons UI is visible after Minesweeper mini-game.

    Acceptance Criteria

    Update [Required]

    • [x] [changes in minesweeperGameScene.swift]

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    [2] hours

    opened by anubhavpulkit 9
  • Added couple of images of the app

    Added couple of images of the app

    Description

    Added PowerUp app images

    Fixes #368

    Type of Change:

    • Documentation

    Code/Quality Assurance Only

    • This change requires a documentation update (software upgrade on readme file)

    Checklist:

    • [ ] My PR follows the style guidelines of this project
    • [ ] I have performed a self-review of my own code or materials
    opened by AjayThakur12 5
  • Add couple of images of the app to the README

    Add couple of images of the app to the README

    Description

    As a contributor, I need README with few images, so that I can get a feel of what the app is about.

    I suggest uploading few images from the current app screen on this issue comments, and then add the links to these files on the README, so it can be rendered and make it more appealing to new contributors. I really feel this can make people understand a bit more about the project before forking it.

    Acceptance Criteria

    Update [Required]

    • [ ] Add link to images of the app on the README

    Definition of Done

    • [ ] All of the required items are completed.
    • [ ] Approval by 1 mentor.

    Estimation

    1 hours

    Status: Available Category: Coding First Timers Only 
    opened by isabelcosta 2
Owner
AnitaB.org Open Source
Women transform technology. Technology transforms the world. Join us at Zulip - http://anitab-org.zulipchat.com
AnitaB.org Open Source
WhoSings Goal of the game: Choose the artist that sings a specific line of lyrics, winning points for every correct choice

WhoSings Goal of the game: Choose the artist that sings a specific line of lyrics, winning points for every correct choice. Installation To run the pr

Jean Raphael 0 Oct 8, 2021
Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Astrian Zheng 55 Jun 28, 2022
Wordle clone in SwiftUI for educational purposes

wordle-clone Wordle clone in SwiftUI for educational purposes. Word list copied

Erik Olsson 28 Oct 18, 2022
This project is a 2D game for iOS users built with Swift and SpriteKit.

PANDA CLICKER Description Panda Clicker is a 2D game and the aim is to touch the Panda image on the center of the screen. In each touch of the panda i

iremkaraoglu 6 Dec 21, 2022
A little arcade game that uses SwiftUI as a game engine.

SwiftUI Game A little arcade game that uses SwiftUI as a game engine :) Just copy the code into the Blank playgroundbook in Swift Playgrounds app on i

Roman Gaditskiy 10 Sep 30, 2022
The one and only open source 4X MMO mid-core strategy game for iOS. Similar to Game of War and Mobile Strike

4X MMO Strategy Game for iOS I have spent 4 years of my life and a significant amount of money into completing this game and I hope you enjoy it. For

shankqr 69 Nov 16, 2022
🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web

Matchimals.fun an animal matching puzzle card game ?? ?? ?? Download for iOS from the App Store ?? Download for Android from the Google Play Store ??

iGravity Studios 137 Nov 24, 2022
Gravity Switch - A dynamic game that integrates swiping and tapping to create a fun interactive game

GravitySwitch Gravity Switch is a dynamic game that integrates swiping and tappi

null 3 Nov 19, 2022
IOS Spin Game - A simple spin game using SwiftUI

IOS_Spin_Game A simple spin game using Swift UI.

Md. Masum Musfique 4 Mar 23, 2022
FlagGuess-Game - A game to collect points by guessing flags

Flag Guess Game A game to collect points by guessing flags! Wrong Choice

Ahmet Onur Sahin 3 Apr 18, 2022
CardGameEngine - Prototyping a game engine for the Bang card game

CardGameEngine Prototyping a game engine for the Bang card game. Features Engine is open source Powerful scripting language using JSON Card design is

stephtelolahy 5 Nov 22, 2022
🖐 Memory game with hand gesture recognition that will keep your brain in a good shape!

Hands I have always been interested in how I can improve my memory in addition to reading books, and once I came across an interesting technique relat

Tamerlan Satualdypov 35 Dec 19, 2022
Mecha Hamster is a game where you roll through customizable environments that you can share with your friends.

MechaHamster {#mechahamster_readme} MechaHamster is a game about guiding a futuristic hamster ball through dangerous space mazes, create mazes of thei

Google 444 Jan 3, 2023
A Star Wars themed card game designed to see if you know your sith vs jedi

StarWarsCardGame A Star Wars themed card game designed to see if you know your sith vs jedi. Learning Objectives: Alert Controllers, Protocol/Delegate

Jonathan Llewellyn 0 Nov 29, 2021
App created in UIKit in order to control users' games library

App created in UIKit in order to control users' games library. It's developed in Swift 5 with Storyboard, and relies in a ASP.Net API backend.

Alliston 2 Mar 15, 2022
Imagine Engine - a fast, high performance Swift 2D game engine for Apple's platforms

Welcome to Imagine Engine, an ongoing project that aims to create a fast, high performance Swift 2D game engine for Apple's platforms that is also a j

John Sundell 1.8k Jan 3, 2023
Lambton College, 2nd Semester Final IOS Project (Star Wars) game

The game we developed for our project of the course advanced iOS application is based on a functioning of a real time shooting game, in which initiall

Suraj Devgan 6 Aug 18, 2022
Tic Tac Toe game developed in SwiftUI

TicTacToe Tic Tac Toe game developed in SwiftUI Requirements macOS 11.1 Big Sur Xcode 12.3 iOS 14 Getting Started Clone the Repository Royalty free au

Adesanya Segun 9 Sep 14, 2022
A game engine built with SDL and Swift.

Lark A game engine made with Swift and SDL. This is a pre-alpha work-in-progress. Don't try to use this unless you really know what you're doing. I ba

June Bash 41 Mar 11, 2022