What retromodcoza said.
If he still wants to do it, you want it done more or less like as follows.
This is a typical waterfall project, as you will usually see in corporates. They want the estimate up front, which is usually difficult to do.
Firstly, you want an agreed spec. If they don't supply one, you create one. In it, you list everything. If it's not in the document, you don't do it. There is no assumptions like "of course email address validation etc is implied".
Not in the spec, not included in the estimate and not delivered.
Include at least some level of mockups, even if it is just pencil sketches and squares.
Preferably get signoff on the requirements before you estimate. If you don't, you supply it with your estimates, and say that your estimates are based on that and no theming rework or whatever.
You make it clear that any changes will extend the deadline.
Someone once told me that you estimate by what you will do before lunch and after lunch, so 2 x 4 hour slots each day.
Then you do this for ALL the features. For example:
Comment box editor UI, submit button UI, User Portrait UI, - 4h.
Submit comment, input sanitation, save to DB - 4h
Load comments from DB, display in list on frontend - 4h.
Rich text editor - 8h.
Use rich text editor on bio page - 4h.
Remember to include time for unit tests etc.
You better think of security. How will security be tested?
You do this for everything, add it all up and add 30%, because it always takes longer than you think it will. The client will always want a quick change, it will add up, and they won't want to move the deadline for the small (couple of days worth of) changes, and there will be meetings and discussions etc. 30% might be on the low side...
When doing the estimates, you don't want unknowns. You need to know the stack you are working with, and you need to KNOW how long things will take you.
You need to know how it integrates with their systems (if it needs to).
You need to know how it will be tested, on which environment.
You need to know where the source will be hosted (github etc) and how to set up CI/CD.
At a previous company, we had a customer that said there's no need for a spec. He'll just review it. I don't think it ever went live.
People change their minds, find UI and UX issues they didn't think of etc.
If it's not Agile, the spec needs to be set in stone.
Do all this, and it will probably still blow up in your face. Hopefully just not too badly.