<?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: Marcus Gutierrez</title>
    <description>The latest articles on DEV Community by Marcus Gutierrez (@mgtz505).</description>
    <link>https://dev.to/mgtz505</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%2F596941%2F9b2a31e4-2897-4096-ab5d-fe8bdefeb992.jpg</url>
      <title>DEV Community: Marcus Gutierrez</title>
      <link>https://dev.to/mgtz505</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mgtz505"/>
    <language>en</language>
    <item>
      <title>Project Retrospective - Dev Dashboard</title>
      <dc:creator>Marcus Gutierrez</dc:creator>
      <pubDate>Tue, 31 Aug 2021 03:43:07 +0000</pubDate>
      <link>https://dev.to/mgtz505/project-retrospective-dev-dashboard-p93</link>
      <guid>https://dev.to/mgtz505/project-retrospective-dev-dashboard-p93</guid>
      <description>&lt;p&gt;It's been a hot minute since my last post here! I've been buckling down (and drinking a lot of coffee) amid a slew of job applications and interview preparation, but it's been incredibly rewarding to see my skills and abilities develop with each passing day. That said, it had been quite a while since I had built a &lt;em&gt;substantial&lt;/em&gt; project. Sure, following along with a tutorial can be a great experience, but there's nothing quite like getting your hands dirty as you build something from scratch. Check out this project's ReadMe for an in-depth look at my development process and some snippets of code that I think are pretty nifty. Otherwise, look below for a brief overview of this experience and some lessons learned.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mgtz505"&gt;
        mgtz505
      &lt;/a&gt; / &lt;a href="https://github.com/mgtz505/dev_companion"&gt;
        dev_companion
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Dev Dashboard is a React SPA designed to keep you motivated and focused on your coding
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Welcome to Dev Dashboard&lt;/h1&gt;
&lt;p&gt;Dev Dashboard is a productivity application to help developers stay focused while coding. I began building Dev Dashboard after reflecting on which "simple widgets" I used on a regular basis while programming (namely text editors, a reminder/to-do app and a pomodoro timer) and deciding that bundling these applications into a single web-app would make for a great project. It's been great to see my front end development skills evolve over the past several months, and while I know that I'll be making more projects soon, working on Dev Dashboard felt like a great measure of my progress.&lt;/p&gt;
&lt;h2&gt;
How does Dev Dashboard Work?&lt;/h2&gt;
&lt;p&gt;Dev Dashboard is intended to be a pinned tab in your browser! If you have a multi-monitor set-up, it's a perfect page to keep displayed on an auxillary screen while you're working. All widgets are simultaneously available for your use. Use any widgets that…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mgtz505/dev_companion"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  A snapshot of Dev Dashboard
&lt;/h2&gt;

&lt;p&gt;Dev Dashboard is a productivity application to help developers stay focused while coding. I began building Dev Dashboard after reflecting on which "simple widgets" I used on a regular basis while programming (namely text editors, a reminder/to-do app and a pomodoro timer) and deciding that bundling these applications into a single web-app would make for a great project. Dev Dashboard is intended to be a pinned tab in your browser! If you have a multi-monitor set-up, it's a perfect page to keep displayed on an auxiliary screen while you're working. All widgets are simultaneously available for your use. Use any widgets that you think can help you be a more productive developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  A brief review of my development process
&lt;/h2&gt;

&lt;p&gt;I had a blast building this project. I tinkered with some new technologies, brushed up my experience with testing, and continued to improve my front end development abilities. &lt;/p&gt;

&lt;h3&gt;
  
  
  Styling
&lt;/h3&gt;

&lt;p&gt;All widgets were effectively treated as independent apps, utilizing CSS modules for styling and state siloed to appropriate components. Simpler widgets, such as the pomodoro timer, served as a useful template for skeletoning out potential layouts for the more complex widgets. &lt;/p&gt;

&lt;p&gt;I selected the project's color palette from &lt;a href="https://coolors.co/cad2c5-84a98c-52796f-354f52-2f3e46"&gt;Coolers.co&lt;/a&gt; and additionally added #7b5673, the inverse color of the app's most prevalent background color, #84A98C. Low-fidelity (essentially just containers in greyscale) wireframes were constructed in &lt;a href="https://www.figma.com/file/SqJJKbN71XaLTWMoKJEsg7/Dev-Companion-Low-Fi-Wireframes?node-id=0%3A1"&gt;Figma&lt;/a&gt;. I knew that there would be some inevitable scope creep in this project. After all, once the creative juices are flowing on a project you're developing to help make you a more productive programmer, you'll inevitably come up with some new features to integrate. As such, these wireframes were much more useful with helping design my layout rather than guiding styling decisions for any individual components. &lt;/p&gt;

&lt;h3&gt;
  
  
  Utilized APIs and Additional Node Packages
&lt;/h3&gt;

&lt;p&gt;In addition to requesting data from various APIs, Dev Dashboard additionally relies upon several node packages, namely react-codemirror2 (used in Javascript Scratchpad) and react-calendar (used in the Reminder widget). &lt;/p&gt;

&lt;p&gt;I knew from the get-go that I wanted to incorporate GitHub's API in this project. I chose to build a commit tracker as this is the GH page I often find myself checking while working on a more extensive project. Should a user decided that they want to see a given commit's code changes, they can follow the provided link to their commit on GH.&lt;/p&gt;

&lt;p&gt;I had previous experience using the NYT API for a prior project NYT Best-Sellers and found it a lot of fun to work with. When I'm taking a work break I'm usually browsing the news, so this was a no-brainer API to integrate into my application. After a user selects a category of news via the dropdown menu, axios calls the API and returns an array of objects, each of which contains 25 stories which are then mapped.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;

&lt;p&gt;This was my first experience using unit tests throughout the development of this application. I had experience writing &lt;em&gt;simple&lt;/em&gt; unit tests for vanilla JS using mocha, but had yet to to try and implement unit testing in a React application. I initially tried to use Mocha but ran into issues, namely I was unable to use babel to interpret my JSX (a big issue considering what babel is meant for). As such, I pivoted to Jest. Testing with Jest was a great experience. Check out my repo to get a peek!&lt;/p&gt;

&lt;h2&gt;
  
  
  In Retrospect...
&lt;/h2&gt;

&lt;p&gt;I'm committed to continuing to grow my abilities as a software engineer. Moving forward I want to ensure that I'm reflecting about my experiences as a developer, and importantly, setting realistic and achievable goals for myself.&lt;/p&gt;

&lt;h3&gt;
  
  
  What did I do well?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Strived to write efficient code (tried to eliminate any code smells, particularly with data not being mapped, not utilizing props, etc)&lt;/li&gt;
&lt;li&gt;Frequent and descriptive commits&lt;/li&gt;
&lt;li&gt;First major project that didn't utilize a component library; there's certainly a time and place for them, but it was great to hone my CSS further and do all styling from scratch&lt;/li&gt;
&lt;li&gt;Learned how to use new APIs and didn't shy away from thoroughly reading the documentation&lt;/li&gt;
&lt;li&gt;Happy with my App's file structure / architecture; I believe that I was well organized and methodical with my layout and code structure throughout this project&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Can I do to Improve on future Projects?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Be more willing to fail when developing; I think that using a dev branch or branches for various features I'm developing would be conducive to this&lt;/li&gt;
&lt;li&gt;Worry less about styling until the entirety of the app's components have been placed and are functional (MVP)&lt;/li&gt;
&lt;li&gt;Perhaps giving CI/CD a try; I could have easily deployed the project's MVP, or even the app when there were only several completed components&lt;/li&gt;
&lt;li&gt;In hindsight, I jumped around between components more than I should have; moving forward, I'd probably benefit from defining a component-specific MVP and &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How can I continue my Momentum?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Become increasingly comfortable with continuing to use new APIs&lt;/li&gt;
&lt;li&gt;Perhaps try using a styling library or new CSS framework such as Tailwind CSS&lt;/li&gt;
&lt;li&gt;Learn more about wireframing / prototyping and perhaps try implementing high-fidelity wireframes at some point&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Actions for Next Time
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Develop on a separate git branch &lt;/li&gt;
&lt;li&gt;Try using a CSS framework&lt;/li&gt;
&lt;li&gt;Continue using new APIs&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Bringing It All Home - Resu.Me</title>
      <dc:creator>Marcus Gutierrez</dc:creator>
      <pubDate>Mon, 26 Apr 2021 13:38:16 +0000</pubDate>
      <link>https://dev.to/mgtz505/bringing-it-all-home-resu-me-245f</link>
      <guid>https://dev.to/mgtz505/bringing-it-all-home-resu-me-245f</guid>
      <description>&lt;p&gt;Wrapping up our time at GA! It's really incredible how quickly time flies when you've been on the grind. I'll be writing another post to discuss my intensive experience, but I figured that I'd keep with tradition and do another retrospective post following the completion of my final project. &lt;/p&gt;

&lt;p&gt;My teammate for this project, Guillermo, and I independently stumbled upon our project idea. I had reached out to ask about his experience using Google Firebase only to find that we had a pretty similar idea for our capstone project - an app that lets users create resumes. We began discussing a roadmap to an MVP that night and quickly selected our stack and began trying to build a proof-of-concept. &lt;/p&gt;

&lt;p&gt;Our app consists of a React front-end (featuring some piecemeal use of React-Bootstrap) and a Firebase backend. The secret sauce for this app was the &lt;a href="https://react-pdf.org/"&gt;React-pdf&lt;/a&gt; node package. After some configuration and plenty of experimentation, we had a pdf dynamically rendering in our window. Construction of the templates for resumes and cover letters was laborious, but pretty straight-forward. If I were to take another pass at this project, I'd really want to see if there were a means by which I could populate this document in a much DRYer approach.&lt;/p&gt;

&lt;p&gt;I encourage you to checkout our repo and &lt;a href="https://resume-render21.herokuapp.com/"&gt;deployed application&lt;/a&gt; to see our code and learn more about how this project came to life!&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Marcus-Guillermo"&gt;
        Marcus-Guillermo
      &lt;/a&gt; / &lt;a href="https://github.com/Marcus-Guillermo/frontend"&gt;
        frontend
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A Resume and Cover Letter generator utilizing React, Firebase and React-pdf. Additionally features integrated Levels.fyi  widgits
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/116017789-91c08b80-a60e-11eb-83e0-ff62d269f382.png"&gt;&lt;img width="566" alt="Screen Shot 2021-04-25 at 9 35 06 PM" src="https://res.cloudinary.com/practicaldev/image/fetch/s--4YPwtTT---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/116017789-91c08b80-a60e-11eb-83e0-ff62d269f382.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://resume-render21.herokuapp.com/" rel="nofollow"&gt;Project Deployment via Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/document/d/1pkIWiyvS0bURZm7FjMctsbzaYtcvN6O5vPp2x91FcAU/edit#heading=h.z6ne0og04bp5" rel="nofollow"&gt;Project Proposal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
What is Resu.Me ?&lt;/h3&gt;
&lt;p&gt;Resu.Me is intented to be a one-stop resume and cover letter destination for aspiring junior-engineers. Via simple text field input, users can quickly create and download professional and well-formatted .pdf resumes and cover letters. As an added bonus, users can find inspiration on their job hunt through Resu.Me's built-in Levels.fyi integrations.&lt;/p&gt;
&lt;h3&gt;
Resu.Me Rendered Home Page:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/116017109-b0258780-a60c-11eb-9564-51e34bd13373.png"&gt;&lt;img width="1419" alt="Screen Shot 2021-04-25 at 9 23 09 PM" src="https://res.cloudinary.com/practicaldev/image/fetch/s--aDTAZFkv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/116017109-b0258780-a60c-11eb-9564-51e34bd13373.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
Example of a User Generating a Resume:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/116016986-56bd5880-a60c-11eb-9822-fda4913e5834.png"&gt;&lt;img width="1422" alt="Screen Shot 2021-04-25 at 9 21 26 PM" src="https://res.cloudinary.com/practicaldev/image/fetch/s--0pJYdxRi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/116016986-56bd5880-a60c-11eb-9822-fda4913e5834.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
Example of a User Generating a Cover Letter:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/116016815-c5e67d00-a60b-11eb-8ff1-5782396a735e.png"&gt;&lt;img width="1440" alt="Screen Shot 2021-04-25 at 9 17 32 PM" src="https://res.cloudinary.com/practicaldev/image/fetch/s--6fZCfC98--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/116016815-c5e67d00-a60b-11eb-8ff1-5782396a735e.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Development Process&lt;/h2&gt;
&lt;p&gt;Resu.Me was relatively straight-forward to plan. The application was intended to facilitate easy creation of cover letters and resumes by users.&lt;/p&gt;
&lt;p&gt;We proposed the following component hierarchy while making a development plan. Our final component hierachy looked different, particularly after integration of the Resume generation functionality. We had originally intended for the two components (resume generation, cover letter generation) to sit on the same page, but quickly saw…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Marcus-Guillermo/frontend"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>react</category>
    </item>
    <item>
      <title>Trying to Keep Comfy  - A React Native 5-Day Trial-by-Fire</title>
      <dc:creator>Marcus Gutierrez</dc:creator>
      <pubDate>Tue, 13 Apr 2021 01:53:44 +0000</pubDate>
      <link>https://dev.to/mgtz505/trying-to-keep-comfy-a-react-native-5-day-trial-by-fire-2ooh</link>
      <guid>https://dev.to/mgtz505/trying-to-keep-comfy-a-react-native-5-day-trial-by-fire-2ooh</guid>
      <description>&lt;h1&gt;
  
  
  School is in Session!
&lt;/h1&gt;

&lt;p&gt;To kick off 100 days of code, I chose to dive into learning a new framework- enter React Native.&lt;/p&gt;

&lt;p&gt;After having tackled React, RN seemed like a natural stepping stone. As I quickly learned, the similarities between the two were enough to keep me tethered to what I knew about developing React apps while the new components, styling, and dependencies kept me on my toes. &lt;/p&gt;

&lt;p&gt;I really tried to broaden my horizons on this project, soliciting user input via SurveyMonkey and using this data to shape my user stories and what ultimately constituted an acceptable MVP. Keeping my end-users' desired specifications in mind was a rewarding, albeit challenging, requirement during my build process. &lt;/p&gt;

&lt;h2&gt;
  
  
  What's Comfy Classroom?
&lt;/h2&gt;

&lt;p&gt;My repo details the inspiration and approach I chose to pursue for this project. My sister, currently an 8th grade Civics teacher in Chelsea, MA, has told me on numerous occasions that her students' families were hit particularly hard by the COVID-19 pandemic, both in terms of financial hardship and the tragic loss of loved ones. I wanted to develop an application that could assist teachers as their students returned into what was once a familiar and, hopefully, somewhat comfortable environment. &lt;/p&gt;

&lt;p&gt;The top portion of Comfy Classroom's homepage consists of two buttons that render informational modals, respectively displaying app instructions and COVID-19 resources for teachers. Below that, a text input field allows teachers to take notes on their students. Notes can pertain to their students' emotional health (i.e. feeling anxious, upset, excited) COVID-19 status (i.e vaccinated, not vaccinated, had an ill parent), their academic status (i.e. struggling with Spanish, excelling in Math) and lastly, a special field where an educator can quickly denote if a student may need extra help. &lt;/p&gt;

&lt;h2&gt;
  
  
  Comfy Classroom Home Page:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vL5jIs6r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330955-e513e380-9b10-11eb-89e9-7182077db843.png" class="article-body-image-wrapper"&gt;&lt;img alt="homepage_loaded" src="https://res.cloudinary.com/practicaldev/image/fetch/s--vL5jIs6r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330955-e513e380-9b10-11eb-89e9-7182077db843.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Student Details:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eGcQTp2Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330976-f3fa9600-9b10-11eb-9221-f10fa4d91478.png" class="article-body-image-wrapper"&gt;&lt;img alt="student_detailed" src="https://res.cloudinary.com/practicaldev/image/fetch/s--eGcQTp2Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330976-f3fa9600-9b10-11eb-9221-f10fa4d91478.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A React Native Retrospective
&lt;/h2&gt;

&lt;p&gt;While RN wasn't a cakewalk, it was more manageable than I had expected. In my opinion, once you have a grasp on state and component-oriented design via experience with React, I think a degree of RN competency is well within reach. &lt;/p&gt;

&lt;p&gt;I certainly couldn't have pulled this product off as seamlessly without my use of Native Base. I additionally think that setting up my build environment with Expo.io saved me a lot of trouble compared to use of the RN CLI interface.&lt;/p&gt;

&lt;p&gt;It wasn't the comfiest project to tackle in five days, but it certainly taught me how to manage delivering a user-centric product on a tight deadline. I haven't sent the end project to my sister and her colleagues yet, but when I do, I'll be sure to publish a follow-up. &lt;/p&gt;

&lt;h2&gt;
  
  
  Want to see more? Check out my repo!
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mgtz505"&gt;
        mgtz505
      &lt;/a&gt; / &lt;a href="https://github.com/mgtz505/comfy-classroom"&gt;
        comfy-classroom
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Mobile application using ReactNative and NativeBase
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Welcome to Comfy Classroom&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://expo.io/@mgutierrez/projects/comfy-app" rel="nofollow"&gt;Project Deployment via Expo.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1rQRC_19CSoVAdtN6KrDOg8cQ6wrSJf2Ig5gmwA9D-Ng/edit#" rel="nofollow"&gt;Inital Project Proposal&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
What is this app?&lt;/h2&gt;
&lt;p&gt;Comfy Classroom is intended to be a moble resource for teachers as their student retrun to the classroom. It has the ability for tecahers to jot down notes about their students (which are then rendered in an easy-to-access scrollable list), refer back to them
on an as-needed basis, and additionally flag which students may require additional academic assistance.&lt;/p&gt;
&lt;h3&gt;
Comfy Classroom Home Page:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/114330955-e513e380-9b10-11eb-89e9-7182077db843.png"&gt;&lt;img width="300" alt="homepage_loaded" src="https://res.cloudinary.com/practicaldev/image/fetch/s--vL5jIs6r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330955-e513e380-9b10-11eb-89e9-7182077db843.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
Example of a Rendered Student Details Page:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/114330976-f3fa9600-9b10-11eb-9221-f10fa4d91478.png"&gt;&lt;img width="300" alt="student_detailed" src="https://res.cloudinary.com/practicaldev/image/fetch/s--eGcQTp2Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330976-f3fa9600-9b10-11eb-9221-f10fa4d91478.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
Instruction Page:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/114330908-c6155180-9b10-11eb-8799-3b1a9c85a8ba.png"&gt;&lt;img width="300" alt="instruction_page" src="https://res.cloudinary.com/practicaldev/image/fetch/s--HRmKPP4e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330908-c6155180-9b10-11eb-8799-3b1a9c85a8ba.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
Resources Page:&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/63027187/114330933-d4fc0400-9b10-11eb-8df4-01b62a2e9ae3.png"&gt;&lt;img width="300" alt="resources_page" src="https://res.cloudinary.com/practicaldev/image/fetch/s--7fQHxwqS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/63027187/114330933-d4fc0400-9b10-11eb-8df4-01b62a2e9ae3.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Component Overview:&lt;/h2&gt;
&lt;p&gt;Comfy Classroom's component hierarchy is straight-forward. App.js imports Welcome.js, Headerbar.js and StudentAdd.js, the latter hosting the "meat" of the application. StudentAdd.js was the most demanding to build. I
My data (here, a given class' students) is stored as an array of objects. The appropriate indicies are matched using a filter function so that the user selection corresponds with the intended…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mgtz505/comfy-classroom"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>reactnative</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>Dabbling with React</title>
      <dc:creator>Marcus Gutierrez</dc:creator>
      <pubDate>Mon, 15 Mar 2021 20:54:09 +0000</pubDate>
      <link>https://dev.to/mgtz505/dabbling-with-react-4gmg</link>
      <guid>https://dev.to/mgtz505/dabbling-with-react-4gmg</guid>
      <description>&lt;h2&gt;
  
  
  Ever notice that you can be in a bookstore, myriad books at your fingertips, and you'll still not know what to read next?
&lt;/h2&gt;

&lt;p&gt;I am currently grinding through some introductory React and, when tasked with creating my first portfolio-worthy project, decided to address a pervasive (at least per my bookworm friends) annoyance for those locked-down at home. What should I be reading? My fiancée struggles with this question. Heck, everyone I know struggles with it. &lt;/p&gt;

&lt;p&gt;When I came across an API for the New York Times' best-sellers list, I figured that it would be pretty useful to gain experience to honing-in on some of my React weak-points all while working with a third-party API and, perhaps somewhat idealistically, finally figuring out what to read on a Sunday afternoon!&lt;/p&gt;

&lt;h2&gt;
  
  
  Judging a book by its cover?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nyt-best-sellers.herokuapp.com/#"&gt;My Rendered App!&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mgtz505"&gt;
        mgtz505
      &lt;/a&gt; / &lt;a href="https://github.com/mgtz505/nyt_bestsellers"&gt;
        nyt_bestsellers
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A React Application; Utilizes the NYT Bestsellers API
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
NYT Best-Sellers (An App built w/ React)&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nyt-best-sellers.herokuapp.com/" rel="nofollow"&gt;Deployed Application; Give me a try and find a new book for this weekend!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
What is this application?&lt;/h2&gt;
&lt;p&gt;When I find myself wanting to read a new book, I tend to spend more time than I should trying to find which book I want to begin reading. Sometimes it can feel like a huge commitment! I created this application to help users (hopefully) find their next read more quickly than they otherwise would. This app uses the NYT Developer API to render a display of the latest iteration of the NYT's bestseller list for four categories. Once a category has been selected, users can select among 15 rendered book-covers that will populate the display. Once a title has been selected, details about that selection appear below, including links to online-retailers where that title can be purchased.&lt;/p&gt;
&lt;h2&gt;
Main Component (Results render here):&lt;/h2&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/8e44145c32c5df377877639403aaa35478a00bacf6f46bdd541deb113bbfd6d4/68747470733a2f2f6d656469612e6769742e67656e6572616c617373656d622e6c792f757365722f33343035372f66696c65732f39386338393838302d383539302d313165622d386263302d333338326332306131646433"&gt;&lt;img width="1440" alt="Screen Shot 2021-03-15 at 1 14 13 PM" src="https://camo.githubusercontent.com/8e44145c32c5df377877639403aaa35478a00bacf6f46bdd541deb113bbfd6d4/68747470733a2f2f6d656469612e6769742e67656e6572616c617373656d622e6c792f757365722f33343035372f66696c65732f39386338393838302d383539302d313165622d386263302d333338326332306131646433"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Result Details&lt;/h2&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mgtz505/nyt_bestsellers"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The Heroku-deployed first-pass at my app can be found at the link above, or you can head directly to my repo. &lt;/p&gt;

&lt;p&gt;I think from the onset I had a pretty clear vision of how I envisioned this app developing. I wanted my components to be simplistic and for my rendered results to be responsive to click events. I used CSS grid to display the results of my API pulls.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7quYV4f---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfzbrk12zacz4pko7szg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7quYV4f---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfzbrk12zacz4pko7szg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
 Each rendered image tag passes state to the ResultDetails component once a user clicks on a book cover. In the ResultDetails component, details about that selection render. &lt;/p&gt;

&lt;h2&gt;
  
  
  Writer's Block (of Code)
&lt;/h2&gt;

&lt;p&gt;This wouldn't have been a true project experience if I hadn't gone through some issues along the way. An embarrassing (albeit, probably relatable) number of these mistakes were simple bugs, mostly those pesky misplaced curly brackets and clappers. A more daunting structural issues I had to tackle involved filtering my API data. It was easy enough to make a call to the API and pull a single category of data, say hardcover fiction, but being able to build a component that allowed the user to select the category gave me a little more hassle. I came across an &lt;a href="https://letsbuildui.dev/articles/building-a-dropdown-menu-component-with-react-hooks"&gt;awesome tutorial&lt;/a&gt; that walked me through building an AirBnB-inspired drop down menu. After I had properly formatted my URL variations I was able to incorporate them into the dropdown.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about the second edition?
&lt;/h2&gt;

&lt;p&gt;It's clear to me that there's still work to be done on this application. I think that the UX could use some cleaning-up. The first addition I'd like to tackle for this project would be to incorporate a scroll animation upon a user clicking on one of the rendered book covers. I also think that dynamic stying would be a great addition to my CSS. Currently, a lot of my div containers flow into each other unless the browser is maximized. Hopefully this isn't a one-hit wonder and I can take another pass at this idea once I get some React Native abilities under my belt. &lt;/p&gt;

</description>
      <category>react</category>
      <category>portfolio</category>
    </item>
  </channel>
</rss>
