Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Advice wanted: Ecommerce type sites backend & frontend programming language recommendations.

Hi All,

Fairly lengthy text incoming, I did do a search first and even contacted support to see if I could pay for a study plan, that's currently not available and suggested I post here instead, so here it is, your comments are appreciated!

A little backstory first. I've been working as web developer for a few years now, almost by accident. I got started with treehouse to set up a site for a business I owned, then did someone else's website and they told their friends who told their friends and so on. Started with simple HTML/CSS sites and wordpress then more recently magento and magento 2 development. Some basic PHP, JS and server configuration skills I picked up along the way as they were necessary. Now I'm focused on improving my skills further, refining those self taught aspects and applying them to making my own custom ecommerce sites through treehouse tracks.

But there are so many now!

The ecommerce sites are my biggest source of income, but I don't really like dealing with wordpress or magento/2 as I feel like they are bloated and can very easily turn out looking the same. I'd like to build some sites that don't use those frameworks, are leaner and offer more flexibility, and are more "me". I know this is not a small project, and ecommerce platforms already exist for this reason. I think I'd get more satisfaction building my own preferred setup from scratch, I spend 8 hours a day in front of the computer so it's important to me that I like what I'm working with.

Unsure of which language to use for the task. My requirements as I see them right now are as follows:

Backend

  • Able to store product and a large number of product attributes with their values,.
  • Can easily access relational data between products
  • Integrates well with 3rd party REST API for dropshipping/affilate products, returns that in what appears to be "real time" to the page.
  • Some sort of responsive backend attached that is quick to update. On a slow server with a lot of products to update I've spent collectively days staring at white screens waiting for page reload after save in wordpress and magento.
  • Most of my work is ecommerce, there is not a huge amount of computation involved, though I am intrigued by possibilities with web VR or 3D modelling. Not the slightest idea how that works, my gut tells me that it will require some sort of processing power.

Frontend

  • Feels interactive, dynamic
  • Can utilize some more interesting design elements and asymmetric designs, i.e not just plain ol' grid
  • Contextual, content can change depending on user's experience, adapt to their behaviour on page or session information.
  • SEO friendly
  • is just a good experience to use, smooth, animated, not clunky, minimal reloading.
  • LESS or SASS pre-processing at least in development stage. I have been using LESS for sometime but SASS seems to be more popular, I'd like to try it and find out why.

If you got through all that, you can award yourself a "I am a caring person!" badge and + 25 points.

I think I could work this all out eventually through trial and error and experimentation but I don't have infinite time, I'd really like some opinions on the "optimal" way to go about this and what languages or stack would best suits my needs given the info above. For bonus points, which tracks and order to study.

4 Answers

Well firstly, you'll have to decide what payment provider you'll be using if you want to go through with this project. Whether that be Stripe, PayPal, or even Visa Checkout (you can do all 3).

Back-end frameworks can really be anything, I'm a Node developer and I can see this projects being super easy to create with Node.js however, any framework can really be used to create this app just whatever your comfortable with.

Front-end frameworks also can be useful, things like React, Angular, Vue, can definitely assist in creating this web app. I personally would go with React and I believe React has animations as well as the other two I listed.

As for 3rd party apis, as long as the language you are using supports http request (most do) you can make request to an api and use that response in your app.

Unfortunately, I do not have any study routes for you, or even what specific language you should go with. I would try a little bit of everything and see which one you like the most.

Good luck to you!

Ethan

User Recommendations is a whole other level. I do some research on Machine Learning for a recommendation engine.

Thanks for your input Ethan, super fast reply! Payment provider I had not even considered to be a factor, guess I have some homework to do there.

Thread Necromancy! Ethan gave me some good advice a few months ago, I've since followed his suggestions and tried out react, angular and view for frontend frameworks with express running API for database requests, also experimented a little with SSR implementation. Fairly burnout at the moment and feel like I'm trying to re-invent the wheel a lot of the time. I've been trying to find an existing CMS to use without too much luck. Any suggestions for a flexible and customizable CMS to use as a base? I've been using MongoDB but it seems that not a lot of CMS use that as default.

Your comments appreciated.

Jesse Thompson
Jesse Thompson
10,684 Points

Im in a similar boat. I have been using wordpress and woocommerce for my own website but I have come to the conclusion that wordpress is pretty much crap and woocommerce is charging me for services that I honestly shouldnt even be paying for. I too am looking to find or develop a simple ecommerce system that uses little to no javascript and has no baggage. Im realizing that all these commodified website systems (shopify, wordpress, etc) are just filed with baggage and make for a boring user experience where you change the content of your website but not the design with it.

If you're developing a website for a client then you should probably use a CMS one of the popular ones out there with a little less baggage, like mongoDB for example. I think the clear reason why a lot of people dont use mongoDB is because its not nearly as easy to set up as a wordpress, even if mongoDB is used by industry leaders like Forbes.

I dont understand the benefit of using a CMS if its your own website. Adding content to a website should be directly connected to the design process of a website.