Rearrange project and add user authentication