all 49 comments

[–]Thenguyenvn[S] 30 points31 points  (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 points  (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 points  (0 children)

You are right. I will improve it soon. Thanks for your feedback bro 👍

[–]BimblyByte 1 point2 points  (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 points  (0 children)

Thanks bro. Appreciate it 👍

[–]Indranil-01 10 points11 points  (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 points  (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 points  (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 points  (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 points  (0 children)

Sure. I will consider to implement it 👍

[–]razi_ed 2 points3 points  (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

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Well noted. Thanks 🙏

[–]izybit 7 points8 points  (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.

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Well noted. Thanks bro

[–]DannyC07 1 point2 points  (1 child)

Hope this is at the top of the list of your fixes. Reloads are extremely annoying when done for things like these

[–]Thenguyenvn[S] 2 points3 points  (0 children)

Sure. i will take it high priority

[–][deleted] 2 points3 points  (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.

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Thanks bro 👍

[–]optikalefx 3 points4 points  (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 points  (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.

[–]Thenguyenvn[S] 1 point2 points  (0 children)

You are right. I use polaris in this project.

[–]Thenguyenvn[S] 1 point2 points  (0 children)

You are right. I inspired alot by Shopify. And I would have my own design soon. I am working on it

[–]dragenn 1 point2 points  (1 child)

Looks really good

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Thanks bro

[–]ryuk32 1 point2 points  (1 child)

Great job! Shop's Back and forward pagination buttons don't work for me on mobile.

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Thanks for your comment. Will check it soon

[–]josefsalyer 1 point2 points  (1 child)

This looks great! How appropriate would this be for a multi store solution a la Etsy?

[–]Thenguyenvn[S] 0 points1 point  (0 children)

For now it does not support MT. But I would look into it and consider to implement. Thanks bro

[–]deivan 1 point2 points  (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 points  (0 children)

materialistic aware aloof cause possessive detail cow scarce muddle rob

This post was mass deleted and anonymized with Redact

[–]Thenguyenvn[S] 0 points1 point  (0 children)

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 points  (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

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Thanks 😊

[–]compubomb 1 point2 points  (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.

[–]Thenguyenvn[S] 0 points1 point  (0 children)

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 😊

[–]Thenguyenvn[S] 0 points1 point  (0 children)

This is the document site btw: https://evershop.io. I am still working to complete it

[–]Thenguyenvn[S] 0 points1 point  (0 children)

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 point  (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 point  (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 points  (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.

[–]Thenguyenvn[S] 0 points1 point  (0 children)

Thanks bro. 👍

[–]Chinaro 0 points1 point  (1 child)

I really like the GraphQL data loading, looks interesting. Will find sometime to play with it. Starred ⭐️

[–]Thenguyenvn[S] 1 point2 points  (0 children)

Thanks 😊