Como fazer um site de vendas? (e-commerce)
Tenho um conhecimento basico em tecnologias fullstack como React, Node e Java (Spring) e estou com uma dúvida, como fazer um site completo de vendas dentro dele (e-commerce)? por exemplo uma Kanui, Pichau etc.
Por exemplo o backend: Construir uma API Rest que tem um usuário e somente um usuario com um JWT Token válido (logado) pode comprar um produto, porém teria que validar outro Token de validação que somente o administrador do sistema (ou dono da loja) pode por exemplo inserir um novo produto correto? Pois o usuário padrão pode somente comprar nesse caso.
Essa parte do layout de pagamentos por exemplo quando você está visualizando um produto, é feito por uma API que você joga os dados do backend para alimentar ela e ela mostra os valores, fotos tamanhos e etc ou é tudo construido na mão? (Pois notei que na maioria dos sites é meio padronizado).
As etapas de pagamento por exemplo: adicionar ao carrinho, preencher endereço de recebimento, metodo de pagamento, tudo isso é uma única API? E essa mesma API que sabe por exemplo quando o pagamento foi efetuado para informar o lojista e o pagante por exemplo?
Só queria esclarescer essa dúvida para eu ter uma base de pessoas que já trabalharam com isso, sei que é um sistema complexo porém queria ter uma base.
Abraços!
ola amigo tudo bem? bom, ja trabalhei com uma plataforma legado meio antiga. o que eu recomendo pra é: crie etapas. Eu vou deixar recomendação e nada é regra, vc decide ;D. Comece por etapas, um ecommerce é um aglomerado de pequenos projetos que precisam funcionar bem em conjunto, comeca com seu projeto de autenticação, defina suas regras para autenticação e nivel de acesso e implemente este serviço. Teste e suba no git, depois cria um projeto por exemplo de carrinho de compras, desenvolva, teste e sobe pro git, vc pode ir desenvolvendo e compondo o projeto ou desenvolver projetos separados mesmo que se comunicam de alguma forma. Assim vc vai ter pequenos projetos de escopo fechado (como ja bem dizia o dechamps) e é mais facil ir concluindo e partindo para o próximo. ai se vc vai comecar pelo front ou back é com vc, ah e vc pode usar o mercado pago pra criar o servico de pagamento, eles liberam a api de homologacao free. So tenta lembrar que o front precisa consumir algo do backend, tenta nao implementar regra de negocios no front a menos que eja uma regra do proprio front.
Nextjs, Redux, Stripe (Pagamentos), para autenticar pode usar Prisma + Auth0, usar o NextAuth também, pode usar Tailwind CSS ou Styled-Components para o estilo do site, usar PlanetScale para o banco de dados, Swiper para sliders.