The minimum to colonize a non-ideal world is :
-Add a colony to a suitable body
-Send infrastructure installations to the colony, either using a freighter you control or civilian contracts (supply on Earth, demand on Mars)
After that point :
If you have civilian shipping lines with colony ships, they will take colonists from a source world (Earth) to send to a destination world (Mars).
If you have civilian shipping lines with freighters, they will take infrastructure trade goods where available to send where needed, up to the quantity needed to support 125% of current colony population.
Depending on how big your private sector is (civilian shipping lines), this can be too slow for your tastes. You can build your own colony ships and freighters to send colonists and preexisting infrastructure (not trade goods, so you need to build them with your industries).
In any case, it is generally a good idea to kickstart a colony by sending a lot of infrastructure, using your own freighters or civilian contracts.
Many players prefer to colonize ideal worlds only (so terraforming first). When population exceeds the current maximum supported by infrastructure, unrest rises. This happens often when colonist transportation is good, but infrastructure doesn't follow. You can limit colonists by setting your source world to stable instead, to let infrastructure catch up.
For freighter design, you should aim for at least 5 cargo holds (if more, use multiples of 5), at least one cargo handling module, and 25 to 35% of its total size in engines (you can see that in the Component Summary tab in Class Design). At Nuclear Thermal tech level, that's about 800 km/s.
To load infrastructures, first build them with your industries. Then give a task group order to load infrastructures, and unload at colony.
About contracts, those are assigned to civvies, not ships you control. If you built freighters yourself, you have to give load/unload orders for them to do anything. If your civvies don't have many freighters themselves, they are quite unreliable...