Tips for building your first fullstack app
Tags: beginners, productivity
Published: 2020-05-24 19:41:15

---
title: Tips for building your first fullstack app
published: true
description:
tags: #beginners #productivity
---

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.

![lets go drake gif](https://media.giphy.com/media/S5yqNNTQlEZfqQ7InC/giphy.gif)

### Biggest tip: **Plan Ahead**
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.

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.)

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.

###Second tip: **Have an achievable MVP!**

![you got this gif](https://media.giphy.com/media/vMAjWyzyAJ2HS/giphy.gif)

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.

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!

###Last tip: **Play around in the terminal**

![monkey gif](https://media.giphy.com/media/yPRo73ILrGjny/giphy.gif)

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.

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?

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!

![comment gif](https://media2.giphy.com/media/wuaxMsig0ZtRu/source.gif)