Feature modeling database

* Add all the user model logic
* Add testing
* Add small refactors