provide socket.io and rest api