2.2.1, 2.2.2 Authentication & User System CRUD

User can login with password, and can signup, adding their details to
the user db.