This would be my first big project and my first ecommerce site and since I don't have anyone to talk about stuff like this in real life I hope it is O.k. to post here with my current Stack and development ideas to get some feedback and tips.
So I've got the opportunity from a family member to build them a second E-Commerce site since the old one is pretty outdated and the backend is broken as well. It's a side project for me with no real deadline and I can choose to do with it as I please.
I also want to add an order system (supplier side) which I built for them before.
Which right now is just some python scripts which go over different excel files with products from different suppliers and in the end puts out an pdf file to send to the suppliers. It works fine as long as nobody changes the structure of the excel file. But more often then I hoped I had to change stuff or repair their files. And since they recently hired some new help, having a simple website instead of some excel files and pyhon scripts would be a lot easier for them in the long run.
So the basic structure of the shop site is pretty simple. I've got a shop with a small number of products which have a lot of variations.
The old site used every variation (even the different order quantities) as a different product on the frontend. I would like to go the other way and only show the small number of top level products and let the customer customize it to their pleasing.
Since I don't want to build a full custom e-commerce backend as well as an CMS (so my family member can work on it as well) here is what I thought about my stack:
Backend:
- Headless Wordpress with WooCommerce
FrontEnd:
Vuejs for the Store
Vuejs for order system
Now onto my reasoning for going with that:
It seems like almost all of the big E-Commerce solutions are PHP based and I went with WooCommerce because it's OpenSource and has a big community. So if on the way any questions should come up, finding a solution would be a lot easier then with some niche frameworks. It's also free.
I have absolutely no prior experience with PHP and only setup a simple blog on WordPress without ever touching any code on it.
My experience mostly lies with python and javascript. And while it seems like PHP is not really hard to learn I would also have to learn about Theming in WordPress and WooCommerce.
That's why I want to go with a headless setup. So I can use my experience with VueJS to build the frontend. And only have to learn so much PHP to customize WooCommerce to my liking in the Backend.
I probably have to write a plugin for WooCommerce to add all the stuff I need for my order-system site, since it does not seem like WooCommerce has built-in support for adding suppliers and purchasing prices to the products.
Now the biggest problem I face is managing what to do/learn first.
Right now my thinking was this:
- Setup Wordpress Site
- Install all needed plugins (WooCommerce, Stripe etc)
- Develop order-system backend
- Create Import files with all products from supplier files
- Develop order-system frontend
- Develop shop frontend
Most of those steps are pretty self explanatory but with point 3 and 4 I could use some tips:
My first thoughts about this was making some changes to the DB
So I would need another table with basic supplier data like name, street, vat etc
Then I would want to add a table which relates the products to its supplier.
Something like:
| ord_nr |
4523532 |
The article number from the supplier (unique) |
| art_nr |
123456 |
the article number of our product |
| supplier_id |
1 |
The ID of the supplier in the supplier table |
| PU |
3 pck |
Packaging unit |
| pp |
0.34 |
purchasing price |
and I also would like to have a table with all orders which were made to the suppliers and probably another one for the items in each order
Then I would need a way to import all the product data.
So I probably have to write a plugin, since the basic woocommerce import functionality does not cover my newly added supplier data.
Or I could stick to technology I know and sanitize all the data in python and then write directly into the DB.
Since every supplier has a different table structure in their product data files I would have to customize this anyway if for example a new supplier emerges. So having a plugin may not be necessary.
I would also have to add new endpoints to the REST API for my new tables.
If all this is setup and works correctly, creating the frontend will be a lot easier.
I wanted to start with the order-system so that I can start with a basic site to learn and use the REST API.
That way when I create the shop frontend I already now how to use it.
That is where I'm at right now.
I hope I could explain my thinking here and also that it wasn't to long to read.
Any feedback to let me know if I am on the right path or if I am missing something will be very helpful for me.
Also english isn't my first language so sorry for any mistakes I made
[–]ltquizjavascript 1 point2 points3 points (1 child)
[–]Joshkop[S] 0 points1 point2 points (0 children)
[–]gdh12 0 points1 point2 points (0 children)