Is their a way to create half of a model and duplicate other side
Yes there definitely is.

You can use the mirror modifier,  this will mirror your model across its origin (or any other object's origin) and merge the vertices along the seam if you want as well.

To do this first add the mirror modifier to the object in the modifiers panel.


The entire mesh will be mirrored across the object's origin along the selected axis.



You can tell it to merge the vertices along the seam by checking merge and adjusting the merge limit to set how close together vertices must be to be merged.

If you don't want to mirror across the origin you can use any other object's origin as the mirror point.  I usually use an empty, an empty is just a non-renderable object that is used in situations like this.

To do this first add an empty under Shift+A > empty > plain axes.


Then select the empty in the mirror object dropdown of the mirror modifier.