You have two distinct problems; local storage and the client server data push.
For the local storage, the data model is simple (based on comments on PARTH's answer) and, thus, Core Data would be a perfect fit.
There is no need to learn SQLite first before using Core Data. Core Data is an object graph persistency and change management solution. SQLite happens to be one of Core Data's persistency mechanisms, but that is an implementation detail that is largely entirely hidden behind the higher level APIs.
For the client/server piece, using HTTP + JSON will work just fine for communicating from your app to the server.
On the server side, go with any of the myriad of different already written solutions for managing this kind of data. For this kind of application, PHP+MySQL is likely a perfectly acceptable solution in that registration + simple data storage is a problem that has been solved about a million times with that combination of tools (and, thus, you'll be able to find 100s of writeups of how to do exactly that).