I know this feeling though, I build the sample app many many times, each time so I could understand a bit more of how the guts work. I can only suggest the hard slog of starting CMS tut all over again. When you get it working as it should, do a WinMerge comparison of what didn’t work last time (so make a copy of what you have now) to work out what what you missed - then you’ll better understand the thinking required.
Once the tut works perfectly you could try to change it to suit your purposes, one step at a time (so you know the last change if something breaks). And don’t forget to clear the cache after any change to a table or entity.
I found what I missed:
If you try to visit /users/add without being logged in, you will be redirected to the login page. We should fix that as we want to allow people to sign up for our application. In the UsersController fix the following line:
// Add to the beforeFilter method of UsersController $this->Authentication->addUnauthenticatedActions(['login', 'add']);