<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Danielle Lewis</title>
    <description>The latest articles on DEV Community by Danielle Lewis (@dlewisdev).</description>
    <link>https://dev.to/dlewisdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1121350%2F4346090e-e182-4bdb-96be-59325e27d888.jpeg</url>
      <title>DEV Community: Danielle Lewis</title>
      <link>https://dev.to/dlewisdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dlewisdev"/>
    <language>en</language>
    <item>
      <title>My Disney Internship: Month One</title>
      <dc:creator>Danielle Lewis</dc:creator>
      <pubDate>Sun, 30 Jun 2024 02:31:35 +0000</pubDate>
      <link>https://dev.to/dlewisdev/my-disney-internship-month-one-1akk</link>
      <guid>https://dev.to/dlewisdev/my-disney-internship-month-one-1akk</guid>
      <description>&lt;p&gt;I won’t lie, I was nervous to start my internship at Disney. Why me? I’ve only been learning to code for a year, would I be able to produce and succeed in a company this large and successful? I had no idea what to expect, and I psyched myself out to the point where I wasn’t sure I’d show up for orientation. Thankfully, all my anxiety was lifted shortly after orientation began. Disney does a wonderful job of making their interns feel the magic. After a long day of being reminded of the history of Disney, the impact the company has on their guests, and the part I’ll get to play in creating the magic for others, I was more excited than nervous to meet my team and get to work. &lt;/p&gt;

&lt;p&gt;I’m a native iOS developer. I started learning Swift and SwiftUI in June of last year, shortly after WWDC ‘23. My internship, however, is on a backend team. I was told which languages to expect to work in after I secured the position, and I had little to no experience at all in them. I wasn’t expected to, which was great, but as someone who deeply cares about doing good work this was not ideal. One of my quotes to live by is “Never disrespect someone’s belief in you.”  I knew that Disney internships weren’t easy to earn. I had to remind myself that I was chosen because the interviewers genuinely believed I could do the job. &lt;/p&gt;

&lt;p&gt;When I finally got to my first day, I received incredible news. The backend team had been assigned an iOS project, and they had no other iOS developers on the team. Not only would I get to spend my internship working on an iOS project, but it’s a project I get to own, help shape, and provide valued input on. I couldn’t even imagine a better situation for my growth and development. I was ecstatic until I found out that the project was written entirely in Objective-C and UIKit. I’d spent the past year avoiding both Objective-C and UIKit like they have cooties. I had never even seen a single line of Objective-C code and UIKit made me feel nauseated. Unwell. Unpleasant physical reactions. &lt;/p&gt;

&lt;p&gt;Fear set in immediately and I went right back to worrying if I’d be able to succeed this summer. After yet another pep talk from my partner, I realized how much of a gift this opportunity was. Objective-C code is still prevalent in the industry, especially in more established codebases. Looking at job listings, many of them give bonus points for familiarity with Objective-C. I may not like it, but SwiftUI adoption isn’t yet at the point where I can have zero experience with UIKit and be competitive in this job market. Earning a paycheck to add this legacy language to my bag while being able to ask questions and learn from experienced developers on other teams is an absolute blessing.&lt;/p&gt;

&lt;p&gt;Several weeks later, I’m genuinely appreciative of this incredible opportunity. I’ve been able to make my way around the codebase because reading Objective-C isn’t &lt;em&gt;that&lt;/em&gt; much different from reading Swift. My team started me out with simple tasks and that’s helped me get comfortable with the basics like string manipulation, header and method files, pointers, and the many syntax differences coming from Swift. A resource that has been invaluable to me is Paul Hudson’s book &lt;a href="https://www.hackingwithswift.com/store/objective-c-for-swift-developers"&gt;Objective-C for Swift Developers&lt;/a&gt;. That’s not an affiliate link or anything like that. I don’t get paid to promote it. It’s been genuinely helpful to me and if you’re a Swift developer trying to learn Objective-C I think it’ll be helpful to you.&lt;/p&gt;

&lt;p&gt;I thought I’d be miserable working with Objective-C, but as a good friend told me, this might be the most important project of my career. I get to learn a legacy language with the expectations (learn) and pressure (none) of an intern, and I don’t have to feel bad asking for questions because my team is, and I don’t want to be hyperbolic, the greatest, brightest, and most supportive team to ever grace this godforsaken planet. I’m having too much fun for this to be real life, learning and growing rapidly in this environment, and I can’t wait to keep going and see how this experience impacts the rest of my journey.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
    </item>
    <item>
      <title>Zero to Ten: My App Development Journey on Apple's App Stores</title>
      <dc:creator>Danielle Lewis</dc:creator>
      <pubDate>Fri, 10 May 2024 19:05:51 +0000</pubDate>
      <link>https://dev.to/dlewisdev/zero-to-ten-my-app-development-journey-on-apples-app-stores-471f</link>
      <guid>https://dev.to/dlewisdev/zero-to-ten-my-app-development-journey-on-apples-app-stores-471f</guid>
      <description>&lt;p&gt;I believe there's magic in vision boards. Like many of you, in December '23 I planned out goals I wanted to accomplish in the new year. Instead of cutting out magazines, I bought a small whiteboard and wrote out all my goals so that I could check them off as I completed them. One of the goals was to get my first app in the App Store by the end of Q1 2024.&lt;/p&gt;

&lt;p&gt;It seemed like an impossible goal at the time. I had just started learning Swift 6 months earlier after WWDC '23. I had built an app, but I didn't get it approved in the App Store because it was an app centering around user-generated content and I didn't have any solutions for moderation, blocking, or a EULA. The app was supposed to be a closed social media app utilized by less than 20 people, so publishing it didn't make much sense to me.&lt;/p&gt;

&lt;p&gt;All of the requirements for that app gave me the (false) impression that getting an app into the App Store was a difficult process. I was discouraged and I didn't have any groundbreaking ideas that I felt confident trying to build to accomplish that goal. I felt defeated until I listened to an episode of what has become my favorite podcast, CodeNewbie. It was an interview with Kyle Lee, or KiloLoco, and he explained that his first published app was a simple note-taking app, and his second was a text field that allowed users to type large text.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://podcasts.apple.com/us/podcast/s15-e3-how-to-build-an-app-from-idea-to-maintenance-kyle-lee/id919219256?i=1000510124420"&gt;CodeNewbie S15:E3 - How to build an app from idea to maintenance (Kyle Lee)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That episode completely shattered my preconceived notion that App Store apps had to be large and complicated. My decision to learn Swift was inspired by the Vision Pro announcement and a desire to build apps for that platform, so I started thinking of simple apps I could build for visionOS. Being a fan of Apple for so long, I assumed that first-party apps for many basic utilities would be absent from the platform at launch. With that hunch in mind, I decided to try and build a simple timer. I figured people could use it as a focus timer while working in their Vision Pro.&lt;/p&gt;

&lt;p&gt;With a lot of help from YouTube and ChatGPT, I was able to get the logic right for a functional visionOS timer app in SwiftUI. The first version of it was a single timer with a progress view that you could change the color of. I submitted it and fully expected it to get rejected. I even told a friend I fully expected them to laugh at my submission.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpjoq7yg79ghd0z7i50s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpjoq7yg79ghd0z7i50s.jpg" alt="A photo of a conversation bubble that reads " width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To my genuine surprise, it was accepted! Getting my first app accepted was the greatest feeling, especially with it being a visionOS app that was going to be present in the Day 1 App Store. The entire process, from building the app to setting up the App Store metadata and submitting it, took less than a day. With that experience, I was inspired to keep going and see how many utility apps I could get into the Day 1 visionOS App Store. I ended up with 3 at launch and 1 more shortly after.&lt;/p&gt;

&lt;p&gt;Two months after thinking I'd never have ONE app in the App Store, I looked up and I had 4. I thought to myself, what if I could build TEN?? I made it a goal to have 10 by the end of the year. I finally had the confidence that I could build and ship simple single-screen visionOS apps, but my friends and family couldn't use them. I didn't know anyone who owned a Vision Pro, and I didn't even own one myself. I decided to try to build two apps I had been wanting to build since I started learning: a cannabis journal (for the public), and a law dictionary.&lt;/p&gt;

&lt;p&gt;I built both MVPs, and apps 5 and 6 were published in March! 3 months, 6 apps! I was already so close to my goal of 10 so early in the year. None of my apps were super complicated but I was learning something new with each one! The cannabis journal was my first time building an app with SwiftData and MapKit, my currency converter app was my first network call, the law dictionary was my first time using a bundled JSON file for data, and my metronome app was my first time working with AVKit.&lt;/p&gt;

&lt;p&gt;I'm now trying to focus on building apps I have no clue how to build to get further outside of my comfort zone. My 7th app, Vinyl Vision, was recently accepted into the App Store as an MVP and it was my first app that successfully utilized OAuth 1.0 and the first app that utilizes a massive API database. I'm learning a ton already from that app and plan to work with more technologies and frameworks that I have no idea how to use yet for the last 3 apps I need to reach my goal.&lt;/p&gt;

&lt;p&gt;I could not have done any of this without a ton of help from my Twitter community. I appreciate you all and if we're not yet connected on Twitter, you can find me at &lt;a href="https://twitter.com/dlewisdev"&gt;@dlewisdev&lt;/a&gt;. I've been sharing a lot about my journey on there but I recognize that blogging and video creation makes the content more accessible to the people looking for it, so I hope to share more details about my journey, what I learn from each app I build, and challenges I face on this blog going forward.&lt;/p&gt;

&lt;p&gt;If you made it this far, thank you so much for reading! You can find all of my apps and the other platforms I'm actively using on my website at &lt;a href="https://daniellelewis.dev"&gt;daniellelewis.dev&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>swift</category>
      <category>swiftui</category>
      <category>apple</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Introducing: Cannoisseur—The Go-To Social Network for Cannabis Budtenders</title>
      <dc:creator>Danielle Lewis</dc:creator>
      <pubDate>Thu, 31 Aug 2023 03:17:28 +0000</pubDate>
      <link>https://dev.to/dlewisdev/introducing-cannoisseur-the-go-to-social-network-for-cannabis-budtenders-303</link>
      <guid>https://dev.to/dlewisdev/introducing-cannoisseur-the-go-to-social-network-for-cannabis-budtenders-303</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Let's be real: selling cannabis products in Florida isn't like selling anything else. For starters, the products are sealed in jars you can't see through. That's a big hurdle when patients start asking, "What's this one look like?" or "Do you have a favorite? What's it smell or taste like?" Let's not even get into the new products popping up every week.&lt;/p&gt;

&lt;p&gt;And here's another kicker: the team on the floor changes pretty often. New hires, seasonal staff—you name it. So, keeping everyone in the loop about our ever-changing product line? It's no walk in the park.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Lightbulb Moment: Why Not an App?
&lt;/h2&gt;

&lt;p&gt;One busy afternoon, it just clicked: What if I can create an app that lets us all share what we know about each product? A digital hangout, just for my coworkers, to swap notes, pics, and even questions. So, I floated the idea by the team, and guess what? They were all for it. That's how Cannoisseur was born. &lt;/p&gt;

&lt;h2&gt;
  
  
  What Sets Cannoisseur Apart?
&lt;/h2&gt;

&lt;p&gt;Learning about a specific dispensary's products is often hit or miss. Because let's face it, sampling every single product isn't an option. But what if we could pool our personal experiences? That's what Cannoisseur is all about. It's a closed network—no random people, just my coworkers—where we can drop reviews, share photos, and ask each other questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who's This For, Anyway?
&lt;/h2&gt;

&lt;p&gt;At its core, Cannoisseur is for my team—my incredible budtenders who are the frontline in medical cannabis care. This app is my way of giving them the resources they need to not only excel in their roles but also genuinely enjoy what they do. With the help of Cannoisseur, they can confidently share their expertise with patients about the products we offer. It's more than just an app; it's a way to uplift the team, make their roles more engaging, and help them offer better guidance to our patients. I’m not just building a social network here; the goal is creating a community of empowered budtenders.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stuff
&lt;/h2&gt;

&lt;p&gt;Let's talk about the tech stack: SwiftUI and Firebase. I had no previous experience with SwiftUI. I recently began learning programming by studying Java! With the help of some awesome people in the iOS dev community, I went from not knowing what a 'View' was to designing intricate UI elements, mastering stacks and alignments, and incorporating a backend!&lt;/p&gt;

&lt;p&gt;Building this app was a real deep dive into SwiftUI and programming in general. Let's just say, I've had my fair share of "aha" moments and the occasional mental breakdown. But hey, it's been an absolute blast watching the app take shape, one view at a time.&lt;/p&gt;

&lt;p&gt;Now, let's talk databases, or more specifically, NoSQL with Firebase. This was another first for me. If you had asked me a few months ago what NoSQL was, I would've given you a blank stare. But here we are—I've set up and managed a NoSQL database, and honestly, it's not as intimidating as it sounds. I've had to wrap my head around collections, documents, and integrating all of that with Swift. The real pain? Implementing the categories and subcategories. That involved some serious researching, a bunch of trial and error, and eventually, asking Twitter for help. I ended up getting a lot of super helpful responses to my tweet and meeting some brilliant people in the process. Totally worth the anxiety I felt about being vulnerable online.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28tfjt92yt2xwbirrvog.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28tfjt92yt2xwbirrvog.png" alt="A Tweet asking for help with a category/subcategory data structure" width="590" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5y6aspkb9j5y63o143wb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5y6aspkb9j5y63o143wb.png" alt="Twitter thread with the solution to the category/subcategory data structure issue" width="591" height="957"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've also tackled review filtering with custom database queries. That feature was another fun puzzle to solve, figuring out how to make it user-friendly and super functional at the same time. It's still a work-in-progress as I add brand and subcategory filtering, but I'm learning a ton and making a lot of progress.&lt;/p&gt;

&lt;p&gt;So yeah, Cannoisseur is not just an app; it's a testament to learning, grinding, and a lot of hours spent coding. It's a robust platform that's been crafted with love, sweat, and maybe just a few tears. But the most exciting part? This is just the beginning. Who knows what features or challenges lie ahead? But one thing's for sure: I'm pumped to take them on.&lt;/p&gt;

</description>
      <category>swift</category>
      <category>firebase</category>
      <category>ios</category>
    </item>
  </channel>
</rss>
