Web process failed to bind to $PORT even with .port code example
Example 1: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch heroku
Heroku dynamically assigns your app a port, so you can't set the port to a fixed number. Heroku adds the port to the env, so you can pull it from there. Switch your listen to this:
.listen(process.env.PORT || 5000)
That way it'll still listen to port 5000 when you test locally, but it will also work on Heroku.
Example 2: Web process failed to bind to $PORT within 60 seconds of launch
.listen(process.env.PORT || 5000)