<?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: adinah</title>
    <description>The latest articles on DEV Community by adinah (@adinah).</description>
    <link>https://dev.to/adinah</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%2F127043%2F87ad53d8-d2a5-4527-929f-128dd4bb2def.jpeg</url>
      <title>DEV Community: adinah</title>
      <link>https://dev.to/adinah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adinah"/>
    <language>en</language>
    <item>
      <title>Tips for building your first fullstack app</title>
      <dc:creator>adinah</dc:creator>
      <pubDate>Sun, 24 May 2020 19:41:15 +0000</pubDate>
      <link>https://dev.to/adinah/tips-for-building-your-first-fullstack-app-5fbl</link>
      <guid>https://dev.to/adinah/tips-for-building-your-first-fullstack-app-5fbl</guid>
      <description>&lt;p&gt;Hey world! I finished building my first fullstack application while attending a coding bootcamp this spring. I learned a lot in the process of building my app and want to share those experiences with you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/S5yqNNTQlEZfqQ7InC/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/S5yqNNTQlEZfqQ7InC/giphy.gif" alt="lets go drake gif" width="400" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Biggest tip: &lt;strong&gt;Plan Ahead&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;First, think about which tools are best to build your app. I came into bootcamp with a little bit of background in JS, but I wanted to gain more experience with Python since I was more interested in becoming a backend engineer. My app was built with a Python/Flask backend, PostgreSQL database, and an HTML/CSS/JS frontend. Know which framework fits in with your design best. Same with databases.&lt;/p&gt;

&lt;p&gt;While researching which tools to use, you should also research which APIs and libraries you want to use. I heavily relied on external APIs to provide data for my project. I spent a huge chunk of time reading documentation on how to use various APIs. I found some APIs have clearer documentation than others. (I plan on writing another blog post about tips for finding reliable APIs.)&lt;/p&gt;

&lt;p&gt;I assumed one python library would work for an API I wanted to use. What I realized when I started coding was the library hadn't been updated for Python 3. I was unable to use the library for my project. Had I researched a little more thoroughly, I would've realized the library wasn't viable. My suggestion is to read articles showing examples of what kinds of queries other developers have used for the APIs you are interested in before implementing it in your project. Documentation for both APIs and libraries can be dry but having a sold base of understanding can (and will) help you further down the road if you get errors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Second tip: &lt;strong&gt;Have an achievable MVP!&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/vMAjWyzyAJ2HS/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/vMAjWyzyAJ2HS/giphy.gif" alt="you got this gif" width="245" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MVP stands for minimum viable product, a term used in Agile development. Think of 1-2 features you need your application to have to be considered done. Give yourself deadlines of when you want something to be due to hold yourself accountable. My bootcamp provided deadlines for each step of our process- I had deadlines for completing data models, my MVP, and extra features. It's okay to expand your MVP or extend your deadline. Just make sure you are giving yourself a reasonable scope to meet.&lt;/p&gt;

&lt;p&gt;I kept a project journal throughout the process. Every day I wrote down what I was having trouble with and what strides I made (if any). My notebook is riddled with a mixture of handwritten emojis, cURL requests, and ideas on how to proceed forward. Some days I didn't make any progress. Know its okay to not have "productive" days every single day you are working on your project. Looking back on my notes, I can see what my blockers were as well as my solutions. Each step of this process is a learning curve!&lt;/p&gt;

&lt;h3&gt;
  
  
  Last tip: &lt;strong&gt;Play around in the terminal&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/yPRo73ILrGjny/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/yPRo73ILrGjny/giphy.gif" alt="monkey gif" width="400" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are using APIs, I don't recommend trying to code directly in your IDE. Make curl requests in your terminal first. If you are using Python, utilize the python interpreter. Know your syntax is correct first before adding the code into your file. It's a lot easier to understand errors that way. First, it can help understand what you are getting back. Is the API giving you information in XML? JSON? How is the data nested? If an API is giving you a ton of information and you only need a little bit for your app, practice parsing the response in the terminal first.&lt;/p&gt;

&lt;p&gt;I would suggest using the terminal for libraries as well. Make a couple variables in your interpretive shell. Does your data look how you want it to look? Are you getting errors?&lt;/p&gt;

&lt;p&gt;I am really excited at the prospect of building more applications. It's amazing to get to a level of knowledge where I can think of an app idea and realize - hey, I can build that now! Do you have any tips for newcomers building their first fullstack app? Share them in the comments!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nwstJwZ1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://media2.giphy.com/media/wuaxMsig0ZtRu/source.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nwstJwZ1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://media2.giphy.com/media/wuaxMsig0ZtRu/source.gif" alt="comment gif" width="300" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>100 Days of Code: a Reflection</title>
      <dc:creator>adinah</dc:creator>
      <pubDate>Thu, 10 Jan 2019 02:33:59 +0000</pubDate>
      <link>https://dev.to/adinah/100-days-of-code-a-reflection-1b2h</link>
      <guid>https://dev.to/adinah/100-days-of-code-a-reflection-1b2h</guid>
      <description>&lt;p&gt;Hi there, my name is Adinah, and I started learning how to code last summer with challenges on &lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt;. It wasn't long before I realized I loved learning how to code!! At first I thought I was progressing at a good pace, but soon decided I wanted to hold myself more accountable for my progress and began to establish learning goals.&lt;/p&gt;

&lt;h3&gt;100 Days Of Code&lt;/h3&gt;

&lt;p&gt;The best thing I did was start the &lt;a href="https://www.100daysofcode.com/"&gt;100DaysOfCode&lt;/a&gt; challenge, which requires a public commitment to code for at least one hour each day for 100 days &amp;amp; willingness to tweet about your experience with the hashtag #100DaysOfCode. I began my challenge September 5th, ending in December, and plan on doing a second round soon!&lt;/p&gt;

&lt;blockquote data-lang="en"&gt;
&lt;p&gt;my first day of &lt;a href="https://twitter.com/hashtag/100DaysOfCode?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#100DaysOfCode&lt;/a&gt; started out establishing goals. first goal= by day 14 to complete FCC's responsive web design certification!&lt;/p&gt;— adinah.js (@adinahcodes) &lt;a href="https://twitter.com/adinahcodes/status/1037564431583072256?ref_src=twsrc%5Etfw"&gt;September 6, 2018&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h3&gt;My Goals&lt;/h3&gt;

&lt;p&gt;My first goal was to get the Responsive Web Design certification from freeCodeCamp. Luckily, I completed this goal early into my challenge.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IJDmq0VJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/g30nkz5xtkf6lnw1i0eq.png" class="article-body-image-wrapper"&gt;&lt;img id="image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--IJDmq0VJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/g30nkz5xtkf6lnw1i0eq.png" alt="pic of fcc certification" width="880" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My second goal was to obtain their Javascript Algorithms and Data Structures certificate, which I unfortunately did not finish. I have one more section to finish before starting on their projects, and in my second round of the 100 days challenge this certification will be my first goal :) &lt;/p&gt;

&lt;h3&gt;Tips for Completing the Challenge&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;establish tangible goals&lt;/li&gt;
&lt;li&gt;make your goals flexible: it's okay to try something new!&lt;/li&gt;
&lt;li&gt;thread your tweets&lt;/li&gt;
&lt;li&gt;share your projects&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;My biggest tip for completing the challenge is to establish goals. Whether it is building a product landing page with Sass by day 30 or getting a certificate from Udemy by day 70-- make your goals specific. Though you should be firm in your determination and dedication, remember to be gentle with yourself if you aren't able to meet your goal in time, or even if you decide you want to focus on something different entirely. &lt;/p&gt;

&lt;p&gt;As a beginner it can be tricky writing down goals and creating a curriculum when there seems to be &lt;strong&gt;so much to learn&lt;/strong&gt;. Sometimes the hardest part about doing a project or learning something new... is actually starting it. I found myself wasting a lot of time beforehand reading reviews on what to learn when I really was just delaying diving into doing the work and discovering what I was interested in. &lt;/p&gt;

&lt;p&gt;During my challenge, I dabbled a little bit in Java before deciding to stick with Javascript. Sure, it may set me on a detour for a bit during my #100DaysOfCode challenge, but more importantly it solidified that I definitely want to continue learning Javascript. Trying something that I later realized I didn't like isn't a waste of time; it's a great way to explore, especially in a field with so many areas to try new things. Besides, knowing what you don't want to do is &lt;em&gt;just&lt;/em&gt; as important as knowing what you &lt;em&gt;do&lt;/em&gt; want to do. &lt;/p&gt;

&lt;p&gt;I recommend threading your tweets when tweeting about your #100DaysOfCode challenge. It's easier to see what you've accomplished throughout the challenge when its all in one place. For example, if you're on day 68 and feeling unmotivated you can scroll up to day 32 and realize you have learned A LOT. This always helped me feel like I was progressing.&lt;/p&gt;

&lt;p&gt;Share your projects in your tweets. Link your CodePen or GitHub to your latest project. Sharing might seem scary but its a great opportunity to get feedback from a community that wants you to grow as a developer. Sharing your work is also a good way to show how you've progressed along the way. Discuss what new frameworks you've learned while creating your project.&lt;/p&gt;

&lt;p&gt;If you're not currently working on a project where you can show code you've written, screenshot your answers to tutorials or share a resource that helped you learn a difficult concept. There were times when I didn't "code" much but I learned a lot reading articles on here &amp;amp; other sites...instead of tweeting my code those days I tweeted links to the articles.&lt;/p&gt;

&lt;p&gt;My last tip is to break up the hour into smaller parts to make it more manageable for folks with a tight schedule. You don't need to try coding for extended periods of time in one sitting to do the challenge. 15-20 minutes of coding bursts throughout your day can work as well, and returning to a project after a bout of fresh air often helps when stuck in your work. I typically would do a lot of tutorials before my workday started (when I had the most energy) and at work between customers. Depending on your learning style, it can even be easier to digest the material if you're working in parts. &lt;/p&gt;

&lt;p&gt;For those doing the challenge or are beginning the challenge, lets code together! I would love to interact with more beginners in their journey. If you've finished #100DaysOfCode challenge, what tips do you have to share?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
