moved database related stuff into a submodule
refactor: created data_model as abstraction and implemented User. (tested)