User accounts (register and login)

TODO: improve security and more testing