Git Product home page Git Product logo

hack-a-thing-21f-1-haileyfox's Introduction

iOS App

What you built?

I attempted to build an iOS app called Scrumdinger. The purpose of the app was to help users manage their daily "scrums", which are defined as short, daily meetings in which all members give an overview of their project statuses, the tasks they accomplished the previous day, their plan for the current day, and any problems they think they may encounter with their tasks. The purpose of the app is to ensure that these meetings are efficient and timely. The app has visual/audio cues indicating how much time each speaker has left in order to end on time.

Here is a screen recording of the app.

Screen.Recording.2021-09-22.at.1.03.43.PM.mov

Here is a screen recording of a new feature where users can add a new scrum.

Screen.Recording.2021-09-22.at.1.42.21.PM.mov

Here is an image of the app. I could not get the colors to work.

ScrumdingerPic1

This is an image after selecting the app, so this is the first screen displayed on the app. The Design, App Dev, and Web Dev are the three "scrums"/short meetings that this user has today. As shown, the first meeting has 4 attendees, the second has 5, and the third has 10. If the user wanted to add a new meeting they would click the plus button and could then do so. This process is shown in the second video.

ScrumdingerPic2

This image shows the next screen that is displayed after selecting the scrum labelled "Design". As shown, we can see the names of the four attendees. In addition the user is able to edit this scrum to change the length of the scrum and the color it is labelled with. Both of these features are displayed in the first recording.

ScrumdingerPic3

This image shows what happens when the user selects "Start Meeting". This is when the time allotted for this scrum is recorded to ensure that the meeting does not go over. As we can see, there are count downs at the top, and we are currently 8 seconds into the meeting.

ScrumdingerPic4

This image shows a later point in the meeting at which we are now 146 seconds into the meeting. As shown in the first video, the time counts down.

ScrumdingerPic5

This image shows the edit scrum display when a user selects edit for a particular scrum. This process is shown in more detail in the first video.

ScrumdingerPic6

Who Did What?

I worked on this project alone, so I did everything.

What you learned

I have learned a lot about how apps are developed. I have never taken any kind of app development or web development course, and I have always really wanted to know how to do this on my own. I have always felt a bit insecure about not knowing what seemingly commonplace terms meant, such as front-end and back-end development. After reading an article about the overview of iOS app development, I was able to have a better general overview of the process (article cited in acknowledgements). I then decided to follow Apple's iOS app development tutorial. The first step in this tutorial was learning how to use the Swift programming language which was the language used to make the app. I had no previous knowledge of this language, so I read the article suggested on the tutorial as well as some other articles to have a better understanding of the language. I found this process to be reassuring, as the concepts and main components of the language were similar to the other languages I know. During devlopment, however, it was challenging to use a language that I had never used before, although I could understand the general conceptual ideas. Debugging was especially difficult because I often did not understand why a certain line of code was incorrect. With each section of the tutorial, I would follow the instructions and attempt to code what was being asked for. Usually, I still ended up with errors and had to look at their code to understand what I had done wrong. However, throughout development, I became better at being able to code the sections on my own. Something I found especially helpful was that at the end of each section of the tutorial there were short quizzes to test my understanding of what had just been accomplished. These really helped me to solidfy my understanding of how the language and the app development process generally worked. In addition to the Swift programming language, I had also never used Xcode before, so I felt like this project was especially helpful in helping me learn about this development environment. Throughout the tutorial, there were many tips for how to perform certain tasks more efficiently, for example, how to embed code in a VStack/HStack/ZStack with one click. I really enjoyed being able to visualize my progress by running the different files and thought it was super cool that I was able to interact with the app by hitting the "resume" button and then tapping the different tabs on the app. I was also able to learn how to debug in Scode which is something I use all the time.

Some challenges I experienced involved not having certain files which were necessary for some of the features. For example, I didn't have the Color class and was unable to find it online, so some of the colors would not show up. I also struggled with certain sections, mostly because I don't have a fully complete understanding of Swift yet. I also had challenges with adding audio features to the app. This problem was also due to problems with not having the necessary framework files. General problems included issues with learning the Swift language. I spent a lot of time understanding why my code was wrong, but I believe that I now have a much better understanding. In addition, I had some issues with Github. This was not really connected to the project at all, but I had used Github a lot over the summer with my job and was used to a very particular way of committing/pushing/and creating pull requests, so I initially had some trouble adjusting to the way we needed to do commits for this assignment. While again, this is not directly related to the assignment, I am glad that I sorted these kinks out before the real project begins.

Authors

Hailey Fox

Acknowledgments

I followed the Apple iOSApp Dev tutorial https://developer.apple.com/tutorials/app-dev-training/getting-started-with-scrumdinger. It was an extremely helpful tutorial. In addition, I read the following articles to learn about the Swift programming language: https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html, https://docs.swift.org/swift-book/LanguageGuide/Closures.html, and https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html#ID55. I read an article about Xcode so that I could use this environment more efficiently: https://developer.apple.com/documentation/xcode. Finally, I read about some general information on iOS app development: https://www.webilize.ca/Blog/Details/53/overview-of-the-ios-mobile-app-development-process.

hack-a-thing-21f-1-haileyfox's People

Contributors

haileypfox avatar github-classroom[bot] avatar

Watchers

James Cloos avatar Kizito avatar  avatar

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.