I presume (as you have not provided the build settings you are using) the base directory is set to the root of the repository?
The issue is the front-end you are (I assume) trying to deploy is in the directory frontend. So setting the base directory to frontend will solve the issue of not finding public/index.html (which resides in the frontend directory.)
If you are also wishing to deploy server.js, that won’t work on Netlify as outlined in
Another thing to note is the hard-coded http://localhost:4000 in several fetch commands. That also won’t work when deployed to Netlify.