How To: A Guide to Outlining and Organizing Your Applications

Posted by Brian Salemi on December 9, 2019

Since graduating from The Flatiron School’s Software Engineering program, I’ve been pretty busy with networking, cleaning up past projects, applying to jobs, and learning new coding concepts. With a completely new schedule and more responsibilities than when I was enrolled in boot camp, I had to make some changes to my coding processes, in order to make more efficient use of my time.

One of the biggest changes I made was with how I approached creating a new application. As I have less time to focus solely on building applications, I make the most of my time coding by structuring an outline of my application and completing each step sequentially.

#### 1. Pick an Idea

The creation of any application always begins with an idea. When brainstorming ideas for an application, I ask myself one question: “What problem should my application solve?”

Maybe I need help keeping track of my new schedule. Or maybe I am curious to know where all of the amusement parks in my area are. Or perhaps I’m interested in creating a place where movie lovers can interact and chat about their favorite movies and films.

If you think of your application in terms of solving a problem or filling a need then ideas should come more freely to you.

#### 2. Make Note of Classes

The second step of my application outline is thinking about the different classes or models that I will be using. As models and classes will be the backbone of my application, it’s important that I have a clear understanding of the various classes I’ll be using before moving forward with the process.

Also, if my application will be utilizing a database, I use this moment to think about how I will populate that database, whether manually, through scraping, or through the use of an API. For example, I know that my next application will be utilizing the Google Books API to populate the database.

Pro Tip: Researching public APIs can help inspire your future applications.

#### 3. Draw it Out

The final and maybe most important step of my application outline is that I like to plan out the design of my application by drawing them out beforehand. Of course I don’t mean for you to draw out every aspect of your future application, instead just draw a few rectangles, on a piece of paper or any sketching app that you have, to represent the different sections of your application’s main page.

Drawing this rough sketch ahead of time can really facilitate the CSS and styling portion of your new project. It also helps you be mindful of any new features or interactivity that you may want to add, such as a search bar or logout button.

#### 4. Time to Build

With my application outline complete, it’s time for me to build!

I approach the building of my application much like my outline, one step at a time. When possible, I make sure to build out each separate section or feature completely, before moving on to the next task. I find this methodical approach helpful as it keeps me focused, allows me to perfect each section, and reduces the chance of me getting overwhelmed by my workload.

Another habit of mine that I find extremely helpful while building, is testing my variables and return values often. Depending on which language or framework you’re using, it is wise to throw console.log, binding.pry and debugger all throughout your code to make sure your functions and variables are returning their intended values. Taking the time to test your variables and return values as you build will greatly reduce the chance of you breaking your code and wasting hours on debugging.

Although this outline will be sure to help you plan and build your application in a more time effective way, the most important tip I have is to be patient. Be patient while building and be patient with yourself. Building an application is hard and it takes a lot of time and effort. There will be plenty of bugs and errors that will make you want to pull your hair out, but just remember to take breaks when necessary and try to make a little progress every day.