I currently make an API with 3 section and it have different function: User, Admin, Vendor with same database. Right now I combine everything into one project.
But my colleague said when I push and deploy something User API become unusable until the deploy is finish even though no user file is deploy.
My question is it better to combine it into one project or separate the project for every API type (this doesn't include any view. only the backend stuff)?
You could be using Envoyer, this is a zero downtime deployment tool. What it does basically, is deploying to a different folder than the one that is live and when this is finished it symlinks your project root to this folder. So, if you did a deployment yesterday you would have:
/public_html <- symlink -> /15012016
Andi f you where to deply today, it would create a folder 16012016 and then:
/public_html <- symlink -> /16012016
By using this you wouldn't have to split anything up.