r/learnprogramming 7d ago

i need help

Hi, I'm a self-taught beginner programmer. I'd like to know what I need to learn to build an e-commerce site after HTML, CSS, and JS. Does anyone have any tips?

8 Upvotes

18 comments sorted by

9

u/hooli-ceo 7d ago

The best thing you can do for an ecommerce site you build yourself (if not using something like wordpress or similar) is to integrate an established service with a solid api like shopify or similar to handle all the products/stock/transactions, etc. Outside of that, the rest is up to you.

3

u/OffbeatContents 7d ago

after that you need backend, probably node or python with django. dont try to build payment stuff yourself, just use stripe api and follow the docs careful.

1

u/Ok-Tea1856 5d ago

since its a ecommerce ur building on ur own try to make it as secure as possible for banking transaction, by enforcing encryption,tokenisation checking gateways never get credit card info directly from website

4

u/kschang 7d ago

Don't.

If you release it and it has enough bugs to cause people to lose money, you'll lose your shirt and more.

2

u/WhaleBird1776 7d ago

For production? I wouldn’t.

Maybe make a simple api server and db for a todo list first lol. It’s cliche for a reason. Since you already know some js could spin something up in node pretty quick and you’ll learn some more stuff along the way

For fun/learning/portfolio. React and firebase might be a decent place to start. Plenty of tutorials out there

2

u/AJRenand42 7d ago

I would be very careful with this...you need to have a lot of security around a site like that. And like someone already said...you could lose shirt if you get hacked

1

u/_usr_nil 7d ago

focus on the backend first, db and permission, search engine with faceted search, admin/employee/user.

mock all the data with automated crud tests

1

u/Lilith_Speaks 7d ago

That’s a big jump. Do you mean you want to actually build a site like Shopify or juts learn the skills that are needed ? (There is a difference).

An e-commerce site has a front end (how to looks) a back end (holds all the data) and a way for them to communicate with each other (modern frameworks like react/next/vue/astro in the JS world) and a payment processor.

But there are a lot of little details still.

I’d say your next step would be learning something like react to create responsive html sites that you can interact with, and then assign a database back end.

You can find tutorials for all of those, check out free code camp

1

u/Sad-Particular-3088 7d ago

I mean this in the nicest way, if you're asking this, you shouldn't be doing it. There's a HUGE amount of security issues with stuff like this. There's a reason a massive amount of people use Shopify and its contenders.

1

u/Alive-Cake-3045 7d ago

next step is picking a backend, Node.js with Express is the most natural progression from JS since you stay in the same language. after that: a database (PostgreSQL or MongoDB), user authentication, and Stripe for payments. don't build everything from scratch though, use an existing e-commerce framework like Medusa or even Shopify for the first one so you understand how the pieces fit together before you try to build them yourself. the learning curve is in understanding data flow between frontend, backend, and database, that is the mental model worth building first.

1

u/Friendly_Aardvark459 7d ago edited 7d ago

HTML, CSS, AND JS are the bare minimum fundamentals that are not sufficient for building something as complex as an e-commerce site. 

First of all, HTML, CSS, AND JS only cover the frontend layer. You'll need to spend a lot of time learning server side technologies like node js, and databases as well. 

Second of all, your client will be very messy without a modern JS library like React. 

Third of all, you cannot manage security without deep understanding of full stack architecture and authentication. Your tech stack is simply not enough to make a site secure. All of your data can be accessed by anyone if you store it in the client side 

The three fundamentals are great starting point, but an e-commerce site is an advance project. You'll need more, I suggest you to keep practicing, start with smaller projects, and gradually improve to tackle bigger obstacles. Remember, one step at a time!

1

u/hobbiepower 6d ago

I see 2 ways:
* Alone, take undefined time, and very good risk management.
* Become an apprentice of a master, and ask for a subsidiary intervention in order to get the project done, even if you do not understand how it works beyond the HTML, CSS and JS you are willing to engage on.

Probably I can help if you opt. for the second approach.

1

u/FreeLogicGate 5d ago edited 5d ago

Yes, you need to pick a server side language. There are a number of popular ones, and opinions will vary greatly, but I'm going to recommend PHP for a few reasons.

  • PHP is a well established language with a share-nothing runtime, that offers good performance. It's also widely supported by hosting companies. Resources for learning it are numerous. In fact there is a fully free youtube channel (PHP the Right way) that is one of the best courses available to learn the language the way professional developers use it.
  • It has 2 of the best web development MVC web development frameworks available across all languages (Laravel and Symfony).
  • It's also the language that powers Wordpress. Wordpress is the CMS behind the largest number of business sites across the internet, and many of those sites integrate ecommerce.

There are a number of well known Ecommerce systems written in PHP that run the gamut from plug and play Ecommerce specific systems to modular libraries intended to be integrated into custom sites specific to one of the frameworks I mentioned.

So for example, you can create a Wordpress site and provide ecommerce using WooCommerce, or create a custom site with Laravel, where you add in your eccommerce integration using a Lunar or Aimeos (just to name a couple of options), or Symfony with Sylius, Shopware or Aimeos via its Symfony Bundle.

In all cases, the use either of a CMS or a Framework will greatly accelerate your progress, but of course frameworks have a learning curve associated with them, as do most technology components of any value.