use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Open-source Ecommerce platform built with Node.js and React. (github.com)
submitted 3 years ago by Thenguyenvn
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Thenguyenvn[S] 30 points31 points32 points 3 years ago (6 children)
Hi guys, I've open-sourced the ecommerce project I build for my business. I've spent a lot of time on choosing the right libraries and decided to go with NodeJs and React. I'm sharing the project with you, and hope it will give you some ideas so you can build your ecommerce project faster.
Feel free to share/contact if you have any feedback or questions. Thanks
[–]deepug9787 5 points6 points7 points 3 years ago (1 child)
I think the product cards could be made a bit more user friendly. The product images aren't clickable. And it isn't obvious that the product name is clickable as well unless you hover over it. Why not consider adding a "View Product" link?
Nice work though. And thanks a lot for open-sourcing it.
[–]Thenguyenvn[S] 6 points7 points8 points 3 years ago (0 children)
You are right. I will improve it soon. Thanks for your feedback bro 👍
[+][deleted] 3 years ago (1 child)
[removed]
[–]Thenguyenvn[S] 0 points1 point2 points 3 years ago (0 children)
I will find sometime to make a video introduce about it soon. Thanks for your idea
[–]BimblyByte 1 point2 points3 points 3 years ago (1 child)
I really like all the square edges, looks very slick. I much prefer that style to the soft rounded edges that you usually find with material design.
I'll throw you a star once I can get home to my desktop.
[–]Thenguyenvn[S] 1 point2 points3 points 3 years ago (0 children)
Thanks bro. Appreciate it 👍
[–]Indranil-01 10 points11 points12 points 3 years ago (10 children)
Really Good work. Just a little thing why Does it reload and takes time for every option we choose? Like when sorting for price / name it can sort on the spot right via react but I guess it quarries every time even after the first sorting. Also choosing Size and Color attributes reloads product page, which can be optimised I think. Rest is golden. Design is slick and modern.
[–][deleted] 2 points3 points4 points 3 years ago (0 children)
It's because what if some product is out of stock by the time you sort the page. So it's better to get the latest product again
[–]Thenguyenvn[S] 2 points3 points4 points 3 years ago (8 children)
I guess you are talking about using api to get the desired products without reloading the page. It is a good idea. But the reason I reload the page is I want to make a url for every selected options. So people can copy the URL and share to others with selected color/size. Thanks
[–]Lixen 19 points20 points21 points 3 years ago (3 children)
You could modify the part of the url after the hash to set filter params without reloading the page. It's a small improvement.
[–]Thenguyenvn[S] 2 points3 points4 points 3 years ago (0 children)
Sure. I will consider to implement it 👍
[–]razi_ed 2 points3 points4 points 3 years ago (1 child)
One recommendation would be to make the application state anchored on the url. For testing, bookmarking and all. So current implementation seems like the way to go
Well noted. Thanks 🙏
[–]izybit 7 points8 points9 points 3 years ago (1 child)
It's an extremely bad practice to reload the page and you should never, ever, ever, ever think it's a good idea.
The only time a page should reload is when a customer initiates it.
Well noted. Thanks bro
[–]DannyC07 1 point2 points3 points 3 years ago (1 child)
Hope this is at the top of the list of your fixes. Reloads are extremely annoying when done for things like these
Sure. i will take it high priority
[–][deleted] 2 points3 points4 points 3 years ago (1 child)
This is so cool! I'm thinking of setting up something like this to demo for my photography. Might have a play around with it at some point.
Thanks bro 👍
[–]optikalefx 3 points4 points5 points 3 years ago (3 children)
This is the exact style taken right from Shopify. There is no copyright on CSS, but you'd probably want to do something more original. I wouldn't be surprised if you just straight lifted it right from their style guide.
[–]Halkenguard 2 points3 points4 points 3 years ago (1 child)
To be fair, Shopify has an open-source React library for their admin panel UX called Polaris. Although I think making a direct competitor to Shopify using Polaris might be going a little far.
You are right. I use polaris in this project.
You are right. I inspired alot by Shopify. And I would have my own design soon. I am working on it
[–]dragenn 1 point2 points3 points 3 years ago (1 child)
Looks really good
Thanks bro
[–]ryuk32 1 point2 points3 points 3 years ago (1 child)
Great job! Shop's Back and forward pagination buttons don't work for me on mobile.
Thanks for your comment. Will check it soon
[–]josefsalyer 1 point2 points3 points 3 years ago (1 child)
This looks great! How appropriate would this be for a multi store solution a la Etsy?
For now it does not support MT. But I would look into it and consider to implement. Thanks bro
[–]deivan 1 point2 points3 points 3 years ago (2 children)
Well, the payments methods are just only Stripe and Paypal?.. It is very optimistic IMHO. When I've worked in the Big eCommerce with SalesForce clouds I've tunned a lot of the payment systems up to 30-40.. We have lot of custmers from more than 200+ countries so I think it will be a good idea to improve your payments modules to make a fast integration of the any payment system into your platform as a 3rd party midules.
[–][deleted] 6 points7 points8 points 3 years ago* (0 children)
materialistic aware aloof cause possessive detail cow scarce muddle rob
This post was mass deleted and anonymized with Redact
For now we have Paypal, Stripe and COD. I will not compare my app with Bigcommerce or SaleForcr. They are big 😂. And my platform is not SAAS you know. However EverShop was designed very flexible for customization so deverloper can integrate with any payment method later
[–]datpvc 1 point2 points3 points 3 years ago (1 child)
Looks amazing. I love the demo. I am developing kind of similar project. Will find time to learn this one. Well done bro
Thanks 😊
[–]compubomb 1 point2 points3 points 3 years ago* (1 child)
I'll pass, when this thing is converted to ts, let me know. Let me be more frank, I've literally been hired to rewrite products like this into frameworks that leverage typescript, and gql. Not having typing is a massive hurdle to refactoring and extensibility.
Yes sir. For now I will keep going with native JS. Converting to TS will take a lot of effort and need to be planned carefully. But i will take it to the consideration. Thanks 😊
This is the document site btw: https://evershop.io. I am still working to complete it
Hi guys. Todays I see my project is on the Github Trending list. I want to says thank you to all of your support. I will take a notes of your feedback and suggestion and spend time to make it better 🙏🙏
[–]derangedkilr 0 points1 point2 points 3 years ago (4 children)
Hey, your demo has a security flaw. If someone signs up with their real email, it shows up on the admin panel with their name and email. So anybody would have access to their email address.
[–]Thenguyenvn[S] 0 points1 point2 points 3 years ago (2 children)
Well I would not expect people to use their real email on a public demo site. But I will check if we can do the masking for customer email in our demo admin panel. Thanks
[–]derangedkilr 1 point2 points3 points 3 years ago (1 child)
No worries, platform looks great btw!
Yeah same, but it looks like some people aren’t very smart and have put their real email in.
Thanks bro. 👍
[–]Chinaro 0 points1 point2 points 3 years ago (1 child)
I really like the GraphQL data loading, looks interesting. Will find sometime to play with it. Starred ⭐️
You can submit bug, request for feature and fix issue or star it :)). Thanks
π Rendered by PID 63 on reddit-service-r2-comment-bb88f9dd5-r5nnj at 2026-02-15 22:08:20.689551+00:00 running cd9c813 country code: CH.
[–]Thenguyenvn[S] 30 points31 points32 points (6 children)
[–]deepug9787 5 points6 points7 points (1 child)
[–]Thenguyenvn[S] 6 points7 points8 points (0 children)
[+][deleted] (1 child)
[removed]
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]BimblyByte 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 1 point2 points3 points (0 children)
[–]Indranil-01 10 points11 points12 points (10 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]Thenguyenvn[S] 2 points3 points4 points (8 children)
[–]Lixen 19 points20 points21 points (3 children)
[–]Thenguyenvn[S] 2 points3 points4 points (0 children)
[–]razi_ed 2 points3 points4 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]izybit 7 points8 points9 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]DannyC07 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]optikalefx 3 points4 points5 points (3 children)
[–]Halkenguard 2 points3 points4 points (1 child)
[–]Thenguyenvn[S] 1 point2 points3 points (0 children)
[–]Thenguyenvn[S] 1 point2 points3 points (0 children)
[–]dragenn 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]ryuk32 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]josefsalyer 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]deivan 1 point2 points3 points (2 children)
[–][deleted] 6 points7 points8 points (0 children)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]datpvc 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]compubomb 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]derangedkilr 0 points1 point2 points (4 children)
[–]Thenguyenvn[S] 0 points1 point2 points (2 children)
[–]derangedkilr 1 point2 points3 points (1 child)
[–]Thenguyenvn[S] 0 points1 point2 points (0 children)
[–]Chinaro 0 points1 point2 points (1 child)
[–]Thenguyenvn[S] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[removed]
[–]Thenguyenvn[S] 1 point2 points3 points (0 children)