O lance de exportar tudo para um index.js e dar um import la no app.js é que você acaba carregando todos os módulos de uma vez só, dependendo to tipo de bundler que estiver usando. As vezes na sua home não tem nada de users, então pode não ser interessante chamar o JS de users lá, saca?

Pra ficar mais simples o lance de importar e não ficar usando paths relativos, vc pode criar "aliases", que no caso ficaria tipo:

import * as database from '@database' // esse @database aponta diretamente para o database.js

Da pra fazer isso tranquilo com o resolve.alias do webpack.