a obfuscação foi usada para garantia da não reutilização do meu código além de "proteger" que façam pequenos ataques em massa ao banco de dados criando vários bancos no nosso sistema. Essa segurança não é valida para mts casos, mas nesse ai a ideia foi boa.
vai parecer estranho, mas aí temos um body especial que se não estiver no fetch não é criado o banco, isso tudo por segurança.
Sobre o Download do .zip, é sim preciso pela questão dos módulos. Eu poderia fazer com que a fsdb tenha integrado esses módulos em seu package.json e que eles sejam instalados no projeto ao mesmo tempo que ela, porém os usuários precisariam adicionar um script especial na package.json de seu projeto para o uso de novos bancos
"scripts": {
"fsdb": "node node_modules/fsdb.js/services/createBank.js"
}
executando assim com
npm run fsdb
mas pesaria mais na instalação, já que precisaria baixar mais módulos. Por isso a .zip foi a melhor escolha.
Obs: Pretendo sim melhorar esses sistemas. Como meu perfil do Github diz: "I always have great ideas in the shower." e tive ótimas ideias no meu ultimo banho kkkk
Sugiro você validar qualquer dado sensível ou restrição de acesso via back end, nunca no client, nem mesmo obfuscando código.
Não sei onde você está hospedado seu server, mas em caso de phishing, spam, DDos ou qualquer outra coisa, valide o acesso pelo servidor. Tu pode bloquear o acesso pelo ip, token de acesso e outras coisas.
E mais uma dica/sugestão, não faça seus usuários baixarem um arquivo zip com um node_modules e um index.js obfuscado. Isso tira toda a credibilidade do projeto. Sugiro você refatorar toda essa parte e tornar as coisas mais claras.
Se seus usuários quiserem burlar ou fazer ataque em massa no teu server, eles vão. Nem o Google, Facebook e outras cambadas estão livres disso.
E não se preocupe se vão reutilizar seu código, copiar ou etc. Se fizerem isso, encare como uma homenagem, porque você fez um trabalho digno de cópia. (no bom sentido claro).
Arrume esses detalhes e dê um exemplo de como usar o teu banco de dados (sem ter que baixar zip nenhum) que vai ficar show.
Por fim...
- Os arquivos acabaram ficando assim, o uso da pasta de downloads para a CDN, uploads também para a CDN e o arquivo "fsdb.js" criado pelo código.Sacrifício
- Eu acabei fazendo o sacrifício de instalar os módulos automaticamente....Obrigado pelo seu Feedback e ajuda com o projeto, caso tenha mais algum comentário, faça! Seu feedback e de todos são bem vindos. Assim como o próprio `Deschamps` diz: "Levem críticas como algo construtivo." > Amanhã / Hoje farei o envio para o Github e atualização nas documentações.