Если не опыта создания с 0 базовые элементы (подключить ORM, аутентификацию, авторизацию, построить REST или GRAPHQL) - то можно взять уже готовые решения
strapi,
eggjs. Сразу совету смотреть чтобы управление шло не через колбеки, а через промисы (async/await), иначе придется потом все промифицировать, чтобы удобно было писать код. Как вы сказали koa -это удобный чистый каркас для начала, на базе которого можно построить хорошее приложение. В качестве базы я посоветую postgres - здесь есть реляционность и json. Если не большой проект- то берите монгу, она для этого тоже хорошо подходит.