Add comment box and refactor post api controller by using a data abstraction layer