<?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: Justin Kelly</title>
    <description>The latest articles on DEV Community by Justin Kelly (@justinkelly).</description>
    <link>https://dev.to/justinkelly</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%2F696859%2Fc32683e7-c75a-443f-adff-a37dcf98b5ab.jpeg</url>
      <title>DEV Community: Justin Kelly</title>
      <link>https://dev.to/justinkelly</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/justinkelly"/>
    <language>en</language>
    <item>
      <title>Trading-Card Web Component</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Mon, 13 Dec 2021 18:38:29 +0000</pubDate>
      <link>https://dev.to/justinkelly/trading-card-web-component-17dd</link>
      <guid>https://dev.to/justinkelly/trading-card-web-component-17dd</guid>
      <description>&lt;p&gt;&lt;a href="https://www.npmjs.com/package/@ist402group19j/trading-card"&gt;NPM&lt;/a&gt; and &lt;a href="https://github.com/ist402groupj/project-3"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial&lt;/strong&gt;&lt;br&gt;
To create the trading card element I started with a very basic border outline to create the “edge” for the card. I used the CSS border property to create the outline by styling the div element that contains the entire card. After the outline I started to work on the alignment of the elements within the card, and the background colors. We chose to include the name at the top, then the image, and additional details below the image. In addition to alignment and coloring, I started to work on the card content and filling in the details to the proper areas on the card face.&lt;/p&gt;

&lt;p&gt;We started working as a group on the visual design of the card and the color contrasting features. We chose a holiday theme for the trading card project and made 4 cards to display Santa, Mrs. Claus, The Grinch and Buddy the Elf. Our team then worked on the optional icon support by including the simple-icons library in our project. We then took a short break from code development to get a head start on the storybook features, but encountered some challenges in the initial setup with the page continuously loading. Next steps in development included mapping the key values for each card, and separating each card into its own unique element in the demo. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;updated(changedProperties) { }&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The updated changed properties function was essential for the implementation of multiple card components in our project. Using the need property, we were able to update the display of each card for multiple variations. There are some styling and accessibility concerns to address, but we are making progress on those as our final web component gets close to completion. &lt;/p&gt;

&lt;p&gt;A time consuming challenge we faced while developing the trading card was the wiring of the demo. We had issues because we were unsure of how to implement each key from the map into a separate HTML element on the frontend. We also struggled when working with HAX as this was the first experience any of us had with trying to implement and contribute a feature to a large project.&lt;/p&gt;

&lt;p&gt;We failed to allow editing via HAXTheWeb wiring because of the way the attributes are set by the map. We wanted to include this capability but were unsure of how to dynamically set the current attributes and allow for customization at the same time. Our final project is complete but it is an understatement to say we are disappointed with the lack of variability and accessibility. &lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>My Ideal App</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Sat, 11 Dec 2021 19:12:49 +0000</pubDate>
      <link>https://dev.to/justinkelly/my-ideal-app-1j5f</link>
      <guid>https://dev.to/justinkelly/my-ideal-app-1j5f</guid>
      <description>&lt;p&gt;If I could build an app, website or technology of any kind, then I would create an open source software designed to help users discover new music. One implementation of this application could utilize SoundCloud’s API. The current API has the capability to embed songs, search for artists and songs while crediting the artists with streams. Although SoundCloud has some of its own methods for recommending content to users, this specialized software will expand on these features so a user can browse new content when they are open to receiving suggestions. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who would it be for?&lt;/strong&gt;&lt;br&gt;
This technology could showcase creative work and my favorite projects, while also allowing others to use the technology in any way they like. I think music lovers would enjoy navigating this type of technology, and developers could contribute improvements if they are inclined.&lt;/p&gt;

&lt;p&gt;Developers could use the technology to develop their own similar tool. Making it open sourced, I would not mind if someone were to use the software as inspiration for their own ideas. In addition to someone taking from the application, maintaining an open source project for this purpose would increase transparency and give value to the community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No Time, No Money&lt;/strong&gt;&lt;br&gt;
If money and time were no concern, I could spend my life dedicated to this app and its operation in the music world. Realistically, if money were no concern then I would probably be working on the application from a beach somewhere. If I had disposable income I would absolutely hire a development team to help me work on the project, although we might spend most of our time coding from a beachfront bar with our toes in the sand. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bQw419Nz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pigmr8xq9zbr1sar2uqe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bQw419Nz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pigmr8xq9zbr1sar2uqe.jpg" alt="Laptop by the beach" width="427" height="240"&gt;&lt;/a&gt;&lt;br&gt;
(Image from Akin Ozcan - stock.adobe.com)&lt;/p&gt;

</description>
      <category>devjournal</category>
    </item>
    <item>
      <title>Fonts with LitElement</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Sat, 11 Dec 2021 19:05:34 +0000</pubDate>
      <link>https://dev.to/justinkelly/fonts-with-litelement-58gj</link>
      <guid>https://dev.to/justinkelly/fonts-with-litelement-58gj</guid>
      <description>&lt;p&gt;In HTML, fonts are typically applied using the CSS font-family property. This property can list one or more font families and each value can be specified as either a family name or a generic name. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;font-family: "Gill Sans Extrabold", sans-serif;&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Alternatively, fonts can be imported from an external CSS stylesheet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;render() { 
return html` &amp;lt;link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kaushan+Script"&amp;gt;`;} 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is also the capability to import fonts with a script tag if the font is in a JavaScript file. For our button project this is how we were able to import additional fonts that were not previously available when using the CSS font family property.&lt;/p&gt;

&lt;p&gt;The imported script font can then be used like other font-family properties:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return css`
      :host {
        display: block;
        padding: 10px;
        color: var(--cta-btn-text-color, orange);
        font-family: Butcherman, fantasy;
        font-size: 30px;
      }`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>devjournal</category>
      <category>css</category>
    </item>
    <item>
      <title>Framework Boilerplates in JavaScript</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Sat, 11 Dec 2021 19:02:16 +0000</pubDate>
      <link>https://dev.to/justinkelly/framework-boilerplates-in-javascript-4d92</link>
      <guid>https://dev.to/justinkelly/framework-boilerplates-in-javascript-4d92</guid>
      <description>&lt;p&gt;Our group assignment was to implement JavaScript boilerplate code, with each group member doing a different framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What commonalities are there between the boilerplate code?&lt;/strong&gt;&lt;br&gt;
The file structure of the boilerplate code was very similar between the examples. Each had a package.json for dependencies, folders for the source/app, and read me files. All boilerplates had steps for the basic setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is duplicate / overlapping?&lt;/strong&gt;&lt;br&gt;
Source folders are commonly overlapping in the boilerplates, although they have some discrepancies in the different files they contain. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which do you think is the easiest DX (Developer eXperience) to get going?&lt;/strong&gt;&lt;br&gt;
React seems to have the easier developer experience for getting started. The initial setup seems more intuitive than the other boilerplates. The folder names like app, docs, internal, and server make it very clear which area of the code you are working in.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If starting to build an "app" tomorrow, which would you prefer and why?&lt;/strong&gt;&lt;br&gt;
If I was going to build an app tomorrow I would certainly prefer React for the reasons outlined above about its easier setup process. I think maintaining code with React would also be less confusing than some of the other boilerplates because of the slight differences in the file structure. &lt;/p&gt;

&lt;p&gt;Provide a links in your post to your organization as well as the repo that you got your boilerplate from&lt;br&gt;
&lt;a href="https://github.com/ist402groupj"&gt;Organization on GitHub&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/bdellegrazie/vue-hello-world"&gt;Boilerplate repository&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Web Component Design Considerations</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Sun, 10 Oct 2021 23:18:25 +0000</pubDate>
      <link>https://dev.to/justinkelly/web-component-design-considerations-1hgh</link>
      <guid>https://dev.to/justinkelly/web-component-design-considerations-1hgh</guid>
      <description>&lt;p&gt;While building a web component, our project team considered various features and use cases that would be necessary for the design. When developing a card, we will have better control on the design of each particular area by sectioning off multiple elements. For example, we plan to work on the header and footer as two of the elements, which will be useful for information that is consistently on the top and bottom margins of the page. In addition to the header and footer, one element will be for navigation. A top navigation bar is one part of the user interface that is also consistent in its content, and provides users steady access to practical functions. We also plan to have an element to preview content which could be helpful for increasing the overall readability.&lt;/p&gt;

&lt;p&gt;We expect the header, navigation, and content preview to be the most challenging to implement. The header and navigation bar will need to be synchronized in a way that keeps the two elements from becoming redundant. To address this, we need to make a decision on which information is included within the header, and which content should instead be placed elsewhere in the card or in the navigation bar. The glaring challenge for a preview element is determining what content is in the preview compared to what is hidden by default. The element needs enough content to be indicative of what is being previewed, and still be useful enough that it is worth having the preview element in the first place. After making the button, I feel much more confident collaborating using GitHub. I also think that designing this component will be easier now that we have had experience with the development process for a web component. We hope to keep it simple, and achieve a component that is functional and reusable.&lt;/p&gt;

</description>
      <category>devjournal</category>
    </item>
    <item>
      <title>Web Component Progress</title>
      <dc:creator>Justin Kelly</dc:creator>
      <pubDate>Mon, 27 Sep 2021 02:25:48 +0000</pubDate>
      <link>https://dev.to/justinkelly/web-component-progress-4l7c</link>
      <guid>https://dev.to/justinkelly/web-component-progress-4l7c</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/justinkelly124/CTA-Button/tree/main/Group19j"&gt;Link to our progress&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Issues
&lt;/h2&gt;

&lt;p&gt;So far we have the general features and functions of the web component, but there is still a lot of work that can be done. The part I seem to be struggling with the most is the HTML implementation of the button. Being the first component we are developing for this course, I am particularly focused on making the button accessible for future use. One detail of the button that needs improvement is its documentation. I understand that this is one of the upcoming tasks, and I look forward to getting more experienced in this part of the development process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning
&lt;/h2&gt;

&lt;p&gt;The simple-icon web component was the first library I have implemented into a project using a package management tool. I found the import to be very straightforward, and was quickly browsing the various icons to experiment with the look and feel of the button. This experience helped me to understand how we could use other web components in future development. In addition to the library import, I learned a lot about the structure of HTML, and also how to more effectively implement the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag within an application.&lt;/p&gt;

</description>
      <category>devjournal</category>
    </item>
  </channel>
</rss>
