15 Sophia Edwards - molab-itp/content-2023-Fa GitHub Wiki
Sophia's Assignments :)
⭐️For my final I'm interested in making an app that observes color values and allows users to create diaries based on the colors they store in the app. My favorite mobile app at the moment is Pinterest.
Swift Tutorial Progress
Week 01:
I have a little bit of experience with a couple other coding languages, so the foundations of variables, functions, for loops, and conditional statements were similar. The nuances were different and I had errors that came up as I was working, but for the most part I was able to figure them out. I completed days 1, 2, 5 and a portion of 7 in about 2.5 hours.
Week 02 & 03: Got behind on my Swift UI tutorials.
Week 04: The issue is I sit down to do my homework last minute. I didn't accomplish the app I wanted to make but I did gather some leads through swift documentation. The app I originally wanted to make was one where there was on page showing a song from Apple Music where the user could play the track and show the album artwork. The second page would contain the song's lyrics and a brief artist bio. I did not get to that. Instead I attempted to make a customized version of the PlayAudioView page from the Audio-State-Demo project.
- Built-in Music player https://developer.apple.com/documentation/mediaplayer/playing_audio_using_the_built-in_music_player
- Media Player: https://developer.apple.com/documentation/mediaplayer
- Apple Music API: https://developer.apple.com/documentation/applemusicapi
- MusicKit: https://developer.apple.com/documentation/musickit
- Using MusicKit and Apple Music API: https://developer.apple.com/videos/play/wwdc2022/10148/ I'll return to the links above later this weekend.
Homework Assignments
Week 05: I learned how create apps with basic navigation functionality using TabView and Navigation Links. I followed these tutorials:
I also learned how to import custom fonts following this tutorial:
Assignment 05 Test Apps & PickMeUp App: I made this app that gives random motivational or funny messages. Coding is hard and I need to laugh about it. I ended up making three simple apps. Two are for me to reference from following along with the tutorials I mentioned above. The last one called PickMeUp is an app that can show me three different types of things: funny messages, inspirational messages, or motivational messages. This app uses both TabView and Navigation Links as well as string arrays. I want to make it more aesthetically pleasing later, but I'm content with the progress I made with it so far.
Week 06: I added in 3 new quotes to each section of my PickMeUp app. Then, I added a gradient background to my PickMeUp App by following these tutorials and documentation. The documentation helped me debug the issue I was having where the color wasn't extending to the full space of the background in the NavigationView:
- Setting Background Color when using NavigationView
- SwiftUI Color Documentation
- Advanced Color Gradients in Swift
Week 07:
Week 08: I explored creating app mockups in Figma to see if that might save me time coding in XCode. I wanted to look into the export to Swift code option once the wireframes have been completely mocked up.
Week 09: I researched Firebase and watched a couple of tutorials on how to set it up. This was mainly to get a better understanding of how it worked and to maybe try it out on a sample app. I quickly realized how much goes into getting Firebase set up and I abandoned ship, but it was a good learning experience while I was attempting to figure it out. These are the links I used:
- Firebase Starter Tutorial
- Sign-in with Firebase
- How to Find Bundle IDs
- Authenticating on iOS
- Youtube Tutorial
Week 10: Assignment 10 Final Project Proposal: I want to make an app that take the Apple Music MusicKit API and allows users to see their streaming habits over a certain period of time. I kind of want to make something like Reciptify or Airbuds for apple music. I'm tired of Spotify people having all of the fun LOL. I want to use the ChipsJSON sample app to build my project, mainly the ability to store the user info in JSON so that they can refer to it. I think incorporating the Firebase Certification and storage functionality makes the most sense. Ideally, the user would open my app, get some sort of information about their streaming habits, save the image to their photo gallery, and then exit the app. If I can, I want to add functionality that links the app to social media apps like Instagram or Twitter so that it makes the step of sharing their results that much easier. Currently, I'm having issues with creating an Authenticated Token with my Developer account. This is the first step into getting the Apple Music MusicKit setup going. Once that is figured out, I will be able to make more progress with my app.
Week 11: I continued researching documentation for integrating the Apple Music API into a swift project using SwiftUI's MusicKit. Links:
- Apple Developer MusicKit Documentation
- Apple Developer Generating Developer Tokens
- MusicKit AUthentication Youtube Tutorial
Week 12: I found a tutorial and sample app that visualized music from a music player using the Swift UI Graphs. I spent this week looking at the code and understanding how the application was built. And it gave me some ideas for what I's like to do with my Apple Music API app for the final. This is the tutorial:
Week 13: I decided to make the app I've been working on to catch up on past week's assignments with my final project. Mainly for time reasons because I was running into a lot more issues trying to generate a developer token to access the Apple Music API than I expected. The main two issues being that I'm using the NYU ITP Developer Organization account and that my apple music account is linked to my personal apple id that isn't associated with the ITP developer account.
Week 14:
Assignment Errors
- Spacing is off in the console, so image is broken
- Multi-line string didn't like the use of \ as a part of the ASCII art image. It wanted something to be inserted after like a variable
Assignment 02 Playground: I had the most trouble figuring out what I wanted to make within the scope of this assignment. I ended up building upon the UIRenderer Playground John-Henry uploaded. I drew lines over and over on a canvas and played around with the resolution of the lines and how many pixels they took up. I wanted to incorporate emojis into my canvas but really couldn't figure it out.
- For loop was producing inconsistent colors, math was off
Assignment 03 Playground & App: I got the random color picking code working in my playground which was awesome and pretty rewarding. When I tried to incorporate a button on the mobile app build, that's where things got harrowing. I will return to it later, but I'm very close. I was using a boolean which I wanted to toggle true/false to trigger a control statement that would decide if the globe would be the standard accent color, or a random color from the color array I declared. It does not work with the button, but it does work independently when I run the code 😭🥲
Assignment 04 Playground & App: It wouldn't build. I didn't finish debugging because I got too frustrated.
Final Project Proposal
I have two final project ideas. The first is the one I started this class with, which was to make an app that observes color values and allows users to create diaries based on the colors they store in the app. The other idea is to make an app that connects to Apple Music and plays some sort of visual based on the song you’re streaming.