💡 Ideia maluca de projeto: como você resolveria este problema?
👋 Salve galera, recentemente eu estava pensando como colocar em prática uma ideia maluca de projeto. Gostaria de saber a opinião de vocês a respeito e se ela funcionaria na prática ou não.
O projeto
Você precisa criar uma página que listará produtos para uma loja. Você não pode utilizar um back-end e deve utilizar a Vercel para Deploy, anulando custos. Sua página deve acessar um arquivo JSON que contém todos os produtos, funcionando como uma forma de API.
https://loja.com
Página com os produtos
https://api.loja.com/produtos.json
API JSON com os produtos
O problema
A princípio, tudo certo, pois podemos utilizar a Vercel para hospedar o front-end, que será uma página estática, com um conteúdo dinâmico através da API JSON. Porém, sua loja terá um administrador que poderá alterar o JSON com os produtos. Como fazer isso sem ter um back-end?
Proposta de resolução
Podemos criar um repositório no GitHub que vai hospedar o JSON com os produtos. Então, fazemos deploy desse repositório à Vercel.
https://api.loja.com/produtos.json
API JSON com os produtos
Para realizar alterações no arquivo, podemos criar uma página com um formulário que irá interagir com a API do GitHub (pedindo um TOKEN de autenticação como forma de segurança), efetuando commits a fim de alterar o JSON.
https://admin.loja.com/
Página com formulário para alterações
Após isso, a Vercel vai efetuar um novo deploy do arquivo JSON atualizado. Consequentemente, nossa página listará os produtos de maneira atualizada.
Mas por que não utilizar um back-end?
Eu sei, seria muito mais fácil. Porém, não conheço nenhum serviço bom para hospedar um gratuitamente, sem que hajam várias limitações. Ainda estou estudando, gosto de criar ideias malucas que consomem o mínimo de recursos possíveis. Então, decidi realizar esse desafio.
Conclusão
Antes que me falem, eu sei que não é permitido utilizar o plano gratuito da Vercel para vender produtos, se trata apenas de um exemplo educacional.
Você tem alguma sugestão?
Como você faria esse projeto?
Conhece outras alternativas?
Bora discutir nos comentários!
E caso eu tenha falado algum conceito errado, me perdoem, estou estudando ainda 😂.