Você pode sempre optar por construir tudo do zero ou então terceirizar essas funcionalidades para módulos, frameworks e serviços externos. Tudo depende qual seu foco, mas se você quer terminar um projeto complexo como esse em um período de tempo relativamente rápido, sugiro terceirizar tudo que puder e só criar você mesmo o que é essencial para diferenciar o seu projeto.
Eu iria sugerir usar o Next.js, além do React, pois o React é bem pelado e você vai ter que ter que ficar instalando outros módulos para diversas funcionalidades básicas. Já ajuda que você deve ter contato com o Next.js por estar no curso.dev.
O Next.js vai cobrir algumas das funcionalidades que você descreveu.
Você pode usar algo como Payload, que é um gerenciador de conteúdo, você pode gerenciar usuários e suas permissões sem precisar ficar criando a funcionalidade do zero.
Entendi, muito obrigado pela ajuda e pela atenção!