joseiscj / estore Goto Github PK
View Code? Open in Web Editor NEWProjeto de uma loja virtual (e-commerce) feita em ReactJS, com backend em NodeJS.
Projeto de uma loja virtual (e-commerce) feita em ReactJS, com backend em NodeJS.
Usando React functional components seu código vai ficar mais enxuto e você ainda vou poder usar a maravilha dos hooks do react para controlar os estados do componente. Você pode encontrar mais informações aqui: React Hooks, React Functional Components vs Classes.
Não encontrei em nenhum local o uso de Route para criar rotas para outras telas.
Oi, @joseiscj. Notei que o node_modules
está sendo mantido aqui no GitHub. Como esse diretório contém todas as dependências do projeto, fazer o git clone
do teu repositório fica bem mais demorado. Como ele pode ser gerado automaticamente pelo install do gerenciador de pacotes, é mais indicado remover o node_modules
e adicioná-lo a um .gitignore
que evite que ele seja upado novamente.
Opa, blz? Vi que vc tá usando o axios pra lidar com as requisições http no front, mas ele não está na lista de dependências do package.json ai quem baixa seu projeto tem que instalar manualmente, então seria uma boa adicionar lá pra quem for executar seu projeto só por pra instalar as dependências do package.json.
Gostei muito do projeto, José Ivan. Como sugestão acho que seria interessante deixar routes no mesmo nível que as pastas controllers e model. Isso não influência muito no projeto, mas acho que fica mais organizado. Acho interessante a forma que esse site explica como faz a estruturação.
É muito importante ao desenvolver web sempre buscar a tag html adequada para o que quer fazer, seja implementado em html puro ou usando uma framework, por diversos motivos, dentre eles para a acessibilidade, depuração, garantir o controle do código e por ser uma boa pratica. No exemplo abaixo pude entender que se trata de uma entrada de dados feita pelo usuário da aplicação que quis vender algo, mas por se tratar de uma paragrafo deveria esta encapsulado dentro de uma tag <p>
.
Lines 31 to 39 in c21bce9
Lines 75 to 77 in c21bce9
A principio não consegui iniciar o backend, mas esse trecho, consegui iniciar:
Line 6 in 0d494a6
para:
mongoose.connect('mongodb://localhost:27017/nodeapi', { useUnifiedTopology: true, useNewUrlParser: true });
Porém não consigo fazer nem POST, nem GET. Quando tento fazer POST com um body vazio, até recebo um erro de validação, mas quando coloco os dados do schema a solicitação não é concluída.
Opa, tenho umas sugestões pra fazer pra ProductList, uma delas é adicionar um loading enquanto a chamada estiver sendo feita ao invés de entregar o componente diretamente pro usuário tendo em vista que o componente ainda não tem os dados necessários para ser renderizado.
eStore/frontend/src/components/ProductList/index.js
Lines 15 to 20 in 7118f4e
Tipo, poderia usar uma variável loading que por default é true, e se tiver true poderia ser exibido um spinner, ou o que tu preferir. A chamada ao back podia ser feita utilizando o async/await do ES6 pra facilitar se tivesse esse "loading". Uma outra sugestão é tratar a mensagem de erro ao invés de exibir somente no console, podia exibir um componente de erro para o usuário, algo do tipo. Por fim, acredito que o path podia ficar dentro do service, quando fosse chamado BaseService.getProducts
, dai vc só passaria o id da página.
Olá José, tudo bem?
Vi que na pasta de frontend tem a descrição do passo a passo para executar o projeto que é gerada automaticamente pelo Create React App, mas na de backend não tem. Uma sugestão que ajudaria a futuros contribuidores do projeto seria uma pequena descrição no README de como rodar a aplicação em modo de desenvolvimento, mesmo que os passos fossem apenas instruções simples de como clonar, instalar as dependências, e de como rodar as aplicações. Facilitaria muito no sentido de não ter que abrir o package.json dos projetos para saber os comandos possíveis.
Seria interessante ter no README instruções que mostrassem como executar o backend e o frontend localmente.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.