How do I create an ecommerce app from scratch (and is it worth it)?

There are countless ecommerce solutions out there, but I am wanting to create my own ecommerce web application from scratch. I am wanting to create a reusable platform where I can generate a multitude of ecommerce sites for businesses and personal use too.

The questions I have though…

  1. How do I calculate shipping? I know there are third party API’s and shipping solutions.
  2. If I am going to have to pay a third party shipping provider anyways, is it worth coding an ecommerce platform from scratch?

Really, I am wanting to start with an online “garage” sale where I can sell my used stuff. If it works out well, I may offer my development services to other businesses.

EDIT: Wanted to say my anticipated stack is Vue, NodeJS, Express, and Postgres

1 Like

First, you need to know very well the process of designing a web application. As far as I know, Django is very used. I think this link could help:

Regarding the shipping.
The most probable scenario is that you will incur in costs until you have officially launch your website.
Regarding the cost, this is a very specific Business and Economics question, and in reality is not easy to answer. In this point i suggest you to do a lot of research (your country, the market in which you are oriented, the goals of the project and so on). But by the moment, I think you could focus more on the technical part.
Hope this helps.

1 Like


Thanks Andy. Although I am largely a JavaScript guy and prefer to use Node for my backend.

The largest hurdle I think is offering competitive shipping prices and most of all, being able to calculate the shipping costs.

… and is it worth it?

Do you mean to create your own ecommerce library?

The short answer, no.

The long answer - it would consume a large portion of your life and would probably never be as good as other options out there and you would be constantly worrying that you made some mistake or left in some security bug. True, that could happen with a prepackaged library, but I think it is much, much likely - it’s either a business where they have a team of experienced devs and security checks, or it is an open source thing where there are even more devs working on it and combing over the code. There are so, so many things that they have already thought of that will just never occur to you or me.

You want to learn how to build houses? Fine. But you also want to learn how to make the nails from scratch? Uh, yeah, sure, that would be interesting, but I’d rather learn how to build houses.

That’s my $.02 anyway. Sure, it’s an interesting question. But unless your plan is to spend all of your time working on just that, making sure it is perfect and secure.

Now, if you mean creating ecommerce sites? Sure, go for it. I just would let someone else worry about the minutia of the transactions.

1 Like


No, I will be using Stripe for payment processing. NOT EVERYTHING will be from scratch. I will use 3rd party solutions for payment processing and such through their API’s.

What I am saying is I want to build an online store. I want to start by creating an online garage sale e-store to sell my used stuff.

I really don’t want to use website builders or WordPress, because I like to create my own look and feel.

Then I think it is just a matter of how you want to spend your time. You could use a premade store (which would probably have some configurability) and focus on the site, etc - or you can roll your own and spend a lot of time working on that.

In my experience, people tend to underestimate the complexity of something like this.

Your welcome to create your own from scratch, but such decisions come with limitations:

  1. None of it works until all of it works, IE you can spend 6 months picking the best design, hosting options, architecture, integration with stripe, but not finish how shipping and handling works, and the product is basically useless.
  2. You probably will have to spend money to earn money. Stuff like hosting, external API’s (stripe, whatever you use with shipping and handling). Things can get expensive quickly, and its actually very possible you never gain back your original investments.
  3. It takes time to learn, build, test, execute, and manage such a product, its a commitment.

Just like how you could build your own stripe-like solution, or your own date management library, the intracracies of these problem domains means you should just use someone else’s work, and possibly pay for it. So use a third party API for shipping and handling, there are a good number to support your exact use-case for an eCommerce shop.

I’d only go into building your own if your main goal is to learn how to do it, rather than actually make money from the endeavour. Unless you have very specific requirements on how your e-shop works that isn’t covered by any off the shelf solution, doing it yourself will take more time and effort.

Its also pretty important, if you plan on doing this yourself and possibly freelancing around doing this for other people, that you want to leverage external resources as much as possible to keep the amount of work you need to do as small as possible. So yes use stripe, and external API’s to do as much of your bidding as possible, so you have less to create and maintain.

I’d actually suggest to look into nuxt, and look to creating static sites. One of the key things about e-commerce is you want them to be fast, easy to buy stuff and easy to find and a “JAMStack”-like approach can be very helpful.

Your welcome to integrate your own back-end and build your own solution, but even something as simple as “keeping track of inventory” is something you could offset to API’s and less professional services manage instead of yourself.

As with anything you build yourself, the choice is yours :smiley:

Good luck, keep building, keep learning :+1:

1 Like

Truer words have not been spoken.

I guess my question would be why? You do not seem to have many (or really any) very good reasons for spending the amount of time building this will require. The look and feel are definitely something you can still change even if using pre-made solutions. As said, you are likely severely underestimating the effort required to make this a viable option.

Something else you should keep in mind is the users. Will people want to use your site? Will they trust it? Can you even reach them? Well-established platforms have benefits other than the already written code. They have cloud, they have trust, they have a brand name, and so on.

As a learning experience, sure. As a business proposal, maybe not so much.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.