Added user model, API controller, and some tests