@sarutobi87 I am sorry to hear about your situation. I run into your kind of situation very often. In every case, the client asking for this kind of work is not very educated about what it takes to build software and how it works. Even as developers ourselves we are bad at estimating how long something will take to build or the complexity of an app, usually because it is easy to judge the complexity of software based on how easy its features look on the front end, so can you even imagine the disconnect for a non-technical person? Unfortunately, it is your job to enlighten them and bridge that gap.
Here are a few steps that may help you:
- Take inventory of woocomerce features, spend a day or two combing through the entire system and cataloguing its capabilities
- Take each feature and estimate how long it will take you to complete. Be generous here, giving yourself the shortest amount of time (best case scenario) is a trap.
- Talk to your client again, do not mention steps 1 and 2, but ask them about what it is they really want from this woocomerce clone. Ask them for the minimum viable product. Ask them if there could be only one thing this clone must do what will it be. A lot of the time, they will name 5 of the biggest features. Resist, ask them to narrow it down, or from what they are saying, deduce what problem they are trying to solve and reach and understanding.
- Armed with this new information, go back and plot the smartest path to execute this project using the catalogue of features you have made and knowing what is most important to them.
- Go back to them, be transparent and telling the truth.Tell them their expectations are unrealistic, in the nicest but most straight forward way you can think of. Explain to them that Woocomerce has several years of development under its belt with several developers on it. Explain that replicating this is months is not feasible and any developer or group of developers that tells them so are liars.
- Explain to them the alternative route you have come up with, and a reasonable roadmap to get to where they want to go.
- Be ready to lose the contract, even though you have done great work and have been honest, your client might still look at you as incompetent and pull the job. This is ok, you are already in a lose lose situation, you do not want a job where the odds are already stacked against you to fail, you will lose reputation and you will be unhappy with your work and your life during that period. So be ok with losing the job, it will be better for you.
If you do continue with the project, make sure you have a winnable scenario, make sure it is under terms that you are comfortable with. Communication is key here, the more you explain the situation in plain English and analogies the better off you will be. Do not use big words or complex terms to make the job sound hard… the job is already hard. Explaining it to them in simple terms will make it so much clearer the madness they are asking of you.
I hope this helps.