<?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: cpburns17</title>
    <description>The latest articles on DEV Community by cpburns17 (@cpburns17).</description>
    <link>https://dev.to/cpburns17</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%2F1197412%2Fa8fdb9b3-fa61-425d-bd45-d014401d0989.jpeg</url>
      <title>DEV Community: cpburns17</title>
      <link>https://dev.to/cpburns17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cpburns17"/>
    <language>en</language>
    <item>
      <title>Navigating Flask-SQLAlchemy: Simplifying Mock Data Generation with seed.py</title>
      <dc:creator>cpburns17</dc:creator>
      <pubDate>Fri, 16 Feb 2024 17:03:35 +0000</pubDate>
      <link>https://dev.to/cpburns17/navigating-flask-sqlalchemy-simplifying-mock-data-generation-with-seedpy-4db1</link>
      <guid>https://dev.to/cpburns17/navigating-flask-sqlalchemy-simplifying-mock-data-generation-with-seedpy-4db1</guid>
      <description>&lt;p&gt;Part 1: Embracing Flask-SQLAlchemy's Core Principles&lt;/p&gt;

&lt;p&gt;My journey with Python included learning Flask-SQLAlchemy, a powerful fusion of Flask and SQLAlchemy that streamlines database management. As I delved into its core principles, I found that Flask-SQLAlchemy excels in simplifying database interactions through its declarative syntax and robust migration support. By defining database models as Python classes and leveraging tools like Flask-Migrate for schema changes, Flask-SQLAlchemy offers a user-friendly approach to building database-backed applications.&lt;/p&gt;

&lt;p&gt;Part 2: My Experience with seed.py for Mock Data Generation&lt;/p&gt;

&lt;p&gt;While building my phase 4 project, I chose to use seed.py for my tables data. As I grappled with different methods for data population, I found seed.py to be a breath of fresh air. Unlike the cumbersome nature of using curl commands, seed.py allowed me to define Python scripts directly within my Flask application, making the process seamless and intuitive.&lt;/p&gt;

&lt;p&gt;What struck me most about seed.py was its flexibility and efficiency. With just a few lines of Python code, I could easily generate mock data tailored to my specific testing scenarios. Whether I needed to create complex relationships between entities or incorporate unique constraints, seed.py empowered me to do so with ease. This level of customization not only saved me time but also ensured that my mock data accurately reflected real-world scenarios.&lt;/p&gt;

&lt;p&gt;Moreover, seed.py's emphasis on reproducibility was a game-changer for my development workflow. Once I had defined the data seeding logic, I could effortlessly recreate the same dataset whenever necessary. This consistency proved invaluable for running repeatable tests and ensuring the reliability of my application across different environments.&lt;/p&gt;

&lt;p&gt;As I continued to use seed.py in my projects, I also appreciated its role in promoting code maintainability and collaboration within my team. By encapsulating the data seeding logic within Python scripts, seed.py made it easy for my colleagues to understand, modify, and extend as needed. This transparency fostered collaboration and ensured that everyone was on the same page when it came to managing mock data.&lt;/p&gt;

&lt;p&gt;In conclusion, my experience with Flask-SQLAlchemy and seed.py has been transformative. By embracing these tools, I've been able to streamline my development process, enhance the reliability of my applications, and focus more on building robust solutions that meet the needs of end-users. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>My Final Project - Tickr</title>
      <dc:creator>cpburns17</dc:creator>
      <pubDate>Fri, 16 Feb 2024 15:22:15 +0000</pubDate>
      <link>https://dev.to/cpburns17/my-final-project-tickr-44ok</link>
      <guid>https://dev.to/cpburns17/my-final-project-tickr-44ok</guid>
      <description>&lt;p&gt;After 5 months of learning, practicing, and creating, my software engineering bootcamp is coming to an end. It's been a wild ride with lots and lots of bumps along the way, and I might have already gone through a mid-life crisis at 29, but I can honestly say this has been one of the best experiences of my life. 5 months ago I made the decision to step out of my comfort zone in the hopes of finding a new career path, and little did I know I would also find a new passion as well. The course material, lectures, "homework", and live coding exams were challenging and tedious at times, but the projects made it all worth it. Throughout my coding journey here at Flatiron, I created 5 projects in total. My first project was a Madlibs game created in javascript, my second project was a "tinder for stocks" made in react.js, my third project was a battleship game made in python3, and my fourth project was made using flask SQLAlchemy and react.js. For my final project, I knew I wanted to make something that is unique and user friendly, and has real world utility. So I came up with the idea to create a web app using react, python, and flask-SQLAlchemy, called "Tickr". Tickr is a mock stock trading app, that is meant to educate, entertain, and eventually earn user's trust with investing. My target audience is individuals like my fiance, who have no clue how to navigate the stock market, nor understand most of the terminology needed to invest. So, in my own words, I translated most of the core terminology into beginner-friendly definitions, explained principals of investing, and created some best practices. This educational material is presented to the user upon signup, where they can choose to go through a slide deck to learn the fundamentals, or choose to skip and jump right into mock trading. Once you begin, Tickr gives you $20,000 of fake money to invest. You'll be matched with a random stock, and presented with a double sided card. The front contains company information, such as the industry, exchange, logo, and current share price. The back contains high level metrics such as previous close, P/E ratio, a graph with the companies Simple moving average, and a modal to see recent news &amp;amp; sentiments. All of the information and data is provided in real time, thanks to Alpha Vantage API I used. You can then decide if you want to invest, enter the # of shares you want to buy, your total is calculated in real time, and then you place your order which updates your total balance. From there, you can go to your portfolio to see all your investments where you can see your transaction history, and each investments individual net gain/loss. You can choose to sell or buy more of the stocks in your portfolio or, if you're looking for a particular stock, you can search for the company in the search bar at the top. Everything is intended to be simple, so users can learn how to properly evaluate stocks, and what investments have been good or bad. Once a user feels confident in their investing skills, I encourage them to create a robinhood, fidelity etrade account, so they can continue their journey with investing and hopefully make some real money! &lt;/p&gt;

</description>
    </item>
    <item>
      <title>The importance of a diverse project portfolio: My first experience using Python.</title>
      <dc:creator>cpburns17</dc:creator>
      <pubDate>Tue, 09 Jan 2024 15:20:42 +0000</pubDate>
      <link>https://dev.to/cpburns17/the-importance-of-a-diverse-project-portfolio-my-first-experience-using-python-2nk2</link>
      <guid>https://dev.to/cpburns17/the-importance-of-a-diverse-project-portfolio-my-first-experience-using-python-2nk2</guid>
      <description>&lt;p&gt;As someone who’s been through many, many interviews, and even conducted a few interviews myself, I’ve learned that being a solid candidate isn’t only based on experience, skill, likeness or hard work, but also an individual's ability to think outside the box. &lt;br&gt;
There are a few interesting interview questions with no right or wrong answer, that’s sole purpose is to see how a candidate thinks. I love these scenarios because to me, they’re fun and they highlight creativity thinking. But I come from a sales background, so this probably isn’t as relevant in the programming industry. &lt;br&gt;
    What I’m getting at here is that as I embark on my software engineering degree, I want to show the organizations I’m interviewing with that I’m not only bringing my technical skills to the table, but that I also offer a passion for creativity. Afterall, my ultimate goal, after a few years working up the software development ladder, is to lead design/development projects.&lt;br&gt;
For my third project, I didn’t want to focus so much on utility, but rather something fun and creative. My goal was to create a working pygame that showcases a clean UI with very easy-to-read code, provide challenging entertainment, and be as user-friendly as possible. After scavenging youtube for inspiration, I found a creator that made a Galactica game. This took me on a trip down memory lane, as I grew up with a neighbor who had an entire arcade room, including Galactica, in his basement. I didn’t want to completely rip off this idea, so I decided to incorporate another childhood favorite, Battleship. I now had the project idea, and had some familiarity with how to set it up thanks to the Youtube video, but I still needed to expand my understanding on a few of the enemy movement/bullet collision concepts. I was a little concerned at first because I had roughly a week to complete my pygame project however, after about a few hours of grinding, I realized that I was genuinely enjoying what I was doing. Not to say I don’t enjoy coding, but I usually don’t get that rewarding feeling until after I’ve finished a substantial amount of code or fixed an irritating error. &lt;br&gt;
This time was different, I was especially passionate about this game, ensuring all of my objects looked and moved appropriately. All I could think about is “I can’t wait to show my Dad my own game!”. Halfway through my project, I realized I should be using sprite inheritance to share all of the common attributes. In general I noticed my code was all over the place, so rather than waiting till the end when I’m bound to be more confused, I spent hours cleaning it up and separating each class respectively. Although it took some time and an elevated heart rate, I came to the conclusion that without pseudocode, all of my future projects/assignments will be much easier to complete with proper pseudocode and separation of classes.&lt;br&gt;
I ended up finishing my game at the very last minute (literally 1 minute before I was scheduled to present to the class), and boy was I excited to show it off. Of course, when I went through a demo, one of the “bosses” (a Battleship that rapid-fires missiles in random directions) didn’t populate the screen which I later found out was because I forgot to uncomment a line of code relating to the Battleships movement. Nonetheless, everything else worked and my classmates were impressed. When I got home that night I was intending on showing my fiance my game but instead, I ended up adding 2 more “bosses” and tweaked some of the movement mechanics. It’s safe to assume that I found a deep passion for creating something fun with code, and I plan on continuing to build upon this project and start many others down the road. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>My first REACT app (Pros &amp; Cons)</title>
      <dc:creator>cpburns17</dc:creator>
      <pubDate>Thu, 14 Dec 2023 15:30:09 +0000</pubDate>
      <link>https://dev.to/cpburns17/my-first-react-app-pros-cons-3fmh</link>
      <guid>https://dev.to/cpburns17/my-first-react-app-pros-cons-3fmh</guid>
      <description>&lt;p&gt;What’s up fellow devs! I want to chat about my experience using Polygon.io's open API for stocks in React app development. It's been a bit like riding a rollercoaster in the stock market, with some ups and downs. Let me break it down for you.&lt;br&gt;
Exploring the Stock Market with Polygon.io &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data Magic:
I got into using Polygon.io's API because it promised real-time stock data that provides a sufficient amount of detailed information about each stock.&lt;/li&gt;
&lt;li&gt;Charts and Graphs:
React is already good at making things look cool, but with Polygon.io's API, I could create dynamic stock charts and graphs. It wasn't just about displaying data; it was about creating engaging experiences for users. &lt;/li&gt;
&lt;li&gt;Saving Money:
For $29, I was able to access a ton of data necessary for building my app. As a budget-conscious developer, the cost-effective side of using Polygon.io's API was a big win. There were a few free stock APIs however, there was usually some downside like lack of real-time data, no private keys, or the cost was even higher. 
Navigating Stock Market Challenges &lt;/li&gt;
&lt;li&gt;Nesting of data:
While there was a plethora of data, I found it quite difficult to obtain specific types of data nested in objects. One of the issues with this was having to run multiple fetches that made my code a bit confusing and often led to it breaking. Remember, I’m a new developer so I’m sure there is a more efficient way of fetching/obtaining nested data but unfortunately I’m not there yet. &lt;/li&gt;
&lt;li&gt;Lack of instructions:
For someone who is pretty familiar with financial data, I thought the API document lacked indication of what data is being represented by what attribute. For example, a lot of the attributes are labeled with one letter, and the explanation was pretty vague. &lt;/li&gt;
&lt;li&gt;Adapting to Changes:
The stock market isn't static, and neither is its data. Polygon.io's API was like a treasure chest, but I had to stay nimble to adapt my React components to any changes in the data landscape. A lot of the aggregates required functions to select specific dates or time windows, which made it difficult to build as a beginner. It would have been great if they mentioned or provided a link to the function options that would assist with obtaining the aggregate data. &lt;/li&gt;
&lt;li&gt;Speed Bumps and Limits:
Just like stocks have their limits, so do APIs. I had to manage these limits and navigate any speed bumps to keep my React app performing at its best. For example, they say the data is “real-time” however, the earliest stock data I could pull was from yesterday’s close. Additionally, the graph data they provided was great but it didn’t allow me to adjust the size of the graph (or at least I couldn’t figure out how to). 
Conclusion: The Stocked Experience 
In the end, using Polygon.io's open API with React felt like a rollercoaster ride through the stock market – thrilling, a bit unpredictable, but incredibly rewarding. The magic of data, quick development, and affordable price came with a dose of vigilance, re-reading, and adaptability to changes. React and Polygon.io's API together made creating a lively stock market app an adventure I'm excited to share with fellow devs. &lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Div or P elements? What are the most appropriate elements to use and why?</title>
      <dc:creator>cpburns17</dc:creator>
      <pubDate>Wed, 15 Nov 2023 20:10:51 +0000</pubDate>
      <link>https://dev.to/cpburns17/div-or-p-elements-what-are-the-most-appropriate-elements-to-use-and-why-2l60</link>
      <guid>https://dev.to/cpburns17/div-or-p-elements-what-are-the-most-appropriate-elements-to-use-and-why-2l60</guid>
      <description>&lt;p&gt;This blog is intended for beginners like myself, so if you’re an experienced coder who’s reading this and thinking: “yeah, no kidding pal”, then keep scrolling because we’re still leveling up. &lt;/p&gt;

&lt;p&gt;During the 2nd week of my coding bootcamp, I came to a mental halt when I was tasked with creating the structure of my HTML file. I started to type div but realized the content within this element is technically a paragraph. So does that mean I should use the p tag instead? I tried both, and each displayed the text exactly the same. I learned that both are considered block level elements which means the browser will render them in the same way. I was told it's up to the developer to pick the tag which best describes the content it will contain. But in case you already forgot, I'm barely 3 weeks into learning how to code, so how am I supposed to know better??? &lt;/p&gt;

&lt;p&gt;For that reason, I decided to scavenge the internet and create my own best practices for when to use which tag and why. I’ll define a few HTML elements that I see most commonly or find interesting, then share my best practice on using them moving forward. I plan on adding onto this list throughout my coding journey, so please be patient! Additionally, feel free to share your own best practices in the comments.&lt;/p&gt;

&lt;p&gt;FYI: HTML tags are used to hold the HTML element. The p and div are considered elements, and these &amp;lt;&amp;gt; icons are considered tags. All of the content that goes in between the opening &amp;lt;&amp;gt; and closing &amp;lt;/&amp;gt; tags are considered part of the element. If this is confusing, I would suggest looking up the difference in Stack Overflow (&lt;a href="http://www.stackoverflow.com"&gt;www.stackoverflow.com&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;div and p&lt;/p&gt;

&lt;p&gt;First, I want to provide clarification on my initial confusion between p and div. Both elements are semantic, which means they describe the content within the opening &amp;lt;&amp;gt; and closing &amp;lt;/&amp;gt; of the tag. The div describes a section of some portion of an html page. It usually contains different kinds of content that is related to other divs in some way. The p tag operates similarly, however a key difference is that the p element inserts a new paragraph and allows you to put a space in between two consecutive images or videos, whereas the div element doesn’t have that ability. &lt;/p&gt;

&lt;p&gt;Connor’s best practice: Use div to divide my code into sections, and use p to represent text related content such as paragraphs. Example:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;p id="story-content"&amp;gt; Content of my story goes here&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;link and a&lt;/p&gt;

&lt;p&gt;This is another situation where at a glance, both elements seem similar but have very different applications.&lt;br&gt;
The link tag is used to link external resources, such as style.css, to your HTML website. It is not visible content on the page. It is considered an empty element so it DOES NOT require an ending &amp;lt;/&amp;gt; tag. Example: &lt;/p&gt;



&lt;p&gt;The a (anchor) tag is used to create a hyperlink on your website. The link IS visible and users can interact with it. It is not an empty element, which means it can contain other elements and it DOES require an ending &amp;lt;/&amp;gt; tag. Example: &lt;/p&gt;

&lt;p&gt;&lt;a&gt; Click here for website .../a&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Connor’s best practice: Use link for whenever I want to include style.css to my website. Use a to set a hyperlink to another website that a user can click on. Reminder: both require the href attribute!&lt;/p&gt;

&lt;p&gt;br&lt;/p&gt;

&lt;p&gt;The br tag represents a single line break inside your p tag. It’s intended to move any text following the br tag down 1 line. It is an empty tag which means it doesn’t require an end &amp;lt;/&amp;gt; tag. Keep in mind, a line break IS NOT a space. Example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p&amp;gt; One fish &amp;lt;br&amp;gt; Two fish &amp;lt;br&amp;gt; Red fish &amp;lt;br&amp;gt; Blue fish
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Connor’s best practice: Use br when I’m creating bullet points or creating a list without having to use the li elements. I’ll share more about this element later. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
