You have to understand that this subject is very broad in scope. Probably the best answer you will get is "it depends".
Some general guidelines that might help you is:
Get
everything in writing. And I do mean everything. What your client says today, they will deny tomorrow.
Make sure that your client understand exactly what it is that they are asking for.
Under promise and over deliver. Estimate 2 weeks and deliver in a week and a half. But make your estimate realistic.
Do not fall into the trap of adding features that they request and you think are trivial. In real life it's rarely that easy.
Give your client exactly what they ask for and no more. Do
not add things in because you think that they are cool features. You are there to give them what they want and they should pay for everything you give them.
Keep your deadlines.
Get yourself good source control and use it religiously.
Tons more but my fingers get tired from typing all day. :-)
Oh and almost forgot. Pete O'Hanlon wrote a bunch of articles and might be of interest. Start here,
Going Solo - First Steps in Building a Successful Company[
^]