5 Basic Design Concepts for Front-End Devs
Tags: ui, css, beginners, frontend
Published: 2020-03-10 14:17:40

As a graphic designer, diving into coding is a bit daunting and scary. My coding process is a bit different. I like to start my project off with thinking of a <em>client</em>. By doing so, I can define the theme of my app and figuring out what functionality I can add. From there, I create a wireframe. The wireframe allows me to see the layout of my application. After that, I start coding. I start by building out the functionality and testing to see if it all works. Finally, I start coding the front end and use different CSS frameworks to design my applications.

Below are the concepts that I apply to my design.

<h2>1. Wireframes</h2>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rflcygn8tn2gruqb94xi.jpeg)
The term means to sketch out the placements of buttons, images, and text with the most minimal amount of details. This allows you to visually think about how you want your final product to look. This also allows you to physically see how many pages or elements you might need to build into your code.

<h2>2. Composition </h2>
The composition is when elements are arranged to look a certain way. One concept that you should familiarize yourself with is the grid system. It is used with most of the CSS frameworks, like Bootstrap and Foundation. Have contrast with size and color to help information flow better. The best way to have your work look and feel meaningful is to have a focal point. check out [this](https://99designs.com/blog/tips/design-composition-and-layout/) blog for a better understanding of composition.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/uzart0wpsfn9upwkjqct.png)
 

<h2>3. Repetition </h2>
Repetition means to reuse the same or a similar image/or style throughout your design. For example, if you are using a round button on the form, that style of the round button should be consistent whenever a button appears on your page. 

<h2>4. Color </h2>
Always have a color palette for your work. This helps your work look cohesive, well-thought-out, and just visually pleasant to look at. There are many tools/websites out there that generate a color palette. The one I usually reach for is [color Mind](http://colormind.io/) or [coolors](https://coolors.co/).
<em>Tip</em> Use three colors at most. One primary color, one secondary color, and one accent color. Use the 60-30-10 rule. 60% should be your brand color, 30% should be your secondary color and 10% is the accent color. 


<h2>5. Typography</h2>
Typography refers art of arranging type to be more legible, and pleasing to look at while conveying information. Some basic types of typographical elements you have seen in the code are:
``` css
<h1> This would be the largest text. </h1>
<h2> This would be the second largests text. </h2>
<strong> This would be bold. </strong>
<p> This would be the smallest size of font. </p>

```

This is where composition comes into play. First, you need an understanding of what the most important information you want the user to see is. For this information, you would most likely go for an h1 tag or maybe make the text bold to make it stand out from the rest. 

Another way to use typography is by pairing two different font families together and create contrast. The most common pairing is a san-serif typeface paired with a serif font face. Below are some examples: 

<em> images taken from [here] (https://digitalsynopsis.com/design/best-google-fonts-combinations-typeface-pairings/)</em>
Example of San-serif pairs: 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/j1kwb2rvuib73zezdi7l.jpg)

Example of a Serif pairing:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/e874tp4lm111na82o8ow.jpg)

Example of a Serif pairing:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xrpp5jk5uizgjw3u9rk9.jpg)

Hopefully, this has helped you become more aware of design in general. The more you practice the better you get. As for now check out these resources.

Here is a list of resources to check out:

[Color Combos to avoid] (https://accessibility.psu.edu/color/brightcolors/)
[BootStrap Templates Blog](https://dev.to/bootstrap/ui-kits-4ik5)
[CSS Grid guide MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout)
[Google Fonts] (https://fonts.google.com/)