add login support (passportJS) and modify db structure