Skip to content

Latest commit

 

History

History
54 lines (46 loc) · 5.75 KB

README.md

File metadata and controls

54 lines (46 loc) · 5.75 KB

GTStudyBuddy

GT Study Buddy is an iOS app that enables you to connect with other students who are in the same classes as you. This app is designed for Georgia Tech students. GT iOS Club members are developing this app as of Spring 2022.

Become a contributor

To become a contributor, drop your GitHub username and email into the iOS Club discord or email [email protected].

Project setup

  1. In the future, you will need to follow specific instructions to obtain the GoogleService-Info.plist for Firebase. For now, this file is included in the repository, which is very unsecure.
  2. Clone the repository. Open a terminal window, navigate to your desired location, and type git clone [email protected]:wellsfletcher/GTStudyBuddy.git. Open the project in Xcode
  3. Change the development team to your personal account. Click on "GTStudyBuddy" at the top of the hierarchy view to navigate to build settings. Go to the "Signing & Capabilities" tab. Switch the team to your personal account
    0signIn
  4. Build the project.
  5. You may need to exit out of Xcode and reopen it for the project to build successfully.
  6. For simplicity, create a new branch by following the "Make changes to the repository" section before modifying the project.

Make changes to the repository

  1. Sign into your GitHub account in Xcode
    1. Open the Xcode preferences (cmd + ,), switch to the Accounts tab and use the Add button. Choose your GitHub account

      1-1accounts

    2. Enter your GitHub account name and password

      1-2password

  2. Make a new branch from the develop branch. On the GitHub website, go to the develop branch. Create a new branch from the develop branch
    2createBranch
  3. In Xcode, fetch changes. This makes it so you can see any new branches that were created remotely
    5fetchChanges
  4. In Xcode, checkout your branch. Navigate to the source control tab by pressing cmd + 2. Checkout your branch by navigating to Remotes/origin and right clicking on your branch name and choosing Check Out...
  5. Make changes to your branch
  6. Commit and push your changes to your branch. Choose Source Control/Commit... from the menu bar. Check push to remote and make sure the correct branch is selected. Press the Commit button at the bottom right corner
    5fetchChanges 4commitAndPush
  7. Fetch and pull changes from develop branch
    5fetchChanges 6pullDevelop
  8. Create a pull request to merge into the develop branch
    7createPullRequest 8createPullRequest2
  9. Add wellsfletcher or one of the officers as a reviewer
    9reviewers
  10. The officers will look over your changes, and will either accept your pull request or decline it and tell you what to fix
  11. Repeat

Completing issues

  1. Go to the Issues tab on the GitHub website to view existing issues
  2. Choose an issue you want. Issues labeled "Good first issue" are probably ones you want to work on. Issues labeled "minor feature" are large, advanced features that we won't implement during meetings. Feel free to try any of those too.
  3. Assign yourself to the issue. Otherwise, you may risk someone else implementing the feature before you and your changes not making it to production.
  4. When working on an issue, include the issue number in your commit messages. Make sure to proceed it with a "#" symbol. A nicely formatted commit message may look like "#11 - added alert for when the password is too short". GitHub will automatically convert the issue number in the commit message into a hyperlink to the issue. This makes it easier to track progress on issues and keep the repository organized
  5. When you complete an issue, write a comment on the issue that mentions one of the officers (i.e. include @wellsfletcher) and we will review and potentially close the issue

Relax

If you are not super familiar with Git, relax. The repository is setup so that you can't directly commit to the main or develop branches. You also can't merge your branch into the main or develop branches without your merge request being reviewed. This means it is very hard to accidentally break everything. Just be careful not to lose your own changes you've made.

Also, don't worry about making extraneous branches or commits. We don't mind :)