Hacker News new | ask | show | jobs
Ask HN: Django vs. AnglularJS for an ECommerce Website
2 points by morningowl 3690 days ago
Greetings everyone,

I have a question regarding the choice of technology for a project. The project is basically an e-commerce webapp/website, which later on will be ported to mobile as well. I've looked into the possible technologies and seem to be inclined to whether use Django, Angular or both. Now, I don't have a lot of experience with either one of the frameworks, so I'd like to ask your opinion on which one of them would be a better choice.

I'm currently considering to use a mixture of both, Django on server-side and Angular on client. Besides functionality, the webapp should be user-friendly and aesthetically pleasing, as well as responsive (very important).

Since we're on the topic, I'm still unsure whether I'll design the database from scratch and manually implement the shopping cart functionality or use an existing solution. Django seems to have some e-commerce plugins. Or maybe it's a good idea to use something like OpenCart, since most of the work is already done.

Any feedback is highly appreciated,

Thank you.

2 comments

The simplest way is to use a predefined systeme based on Django for e-shops or AngularJs. You'll not find so many systems combining the two. Beside that, Dango/Python is my favorite combination for computing. Recently I subscribed to an online platform [0] for learning how to build a G+ clone using Django and AngularJs. Best $19 I've ever invested wisely. But it requires you to be fluent in AngularJs. Especially terminology.

[0] : https://thinkster.io/django-angularjs-tutorial

Thanks for the answer. I've also been looking into some Django plugins [0]. Is that what you mean when you say "use a predefined systeme based on Django for e-shops or AngularJs"?.

I actually already have bookmarked the link you sent me :)

[0]: https://www.djangopackages.com/grids/g/ecommerce/

I mean Django E-commerce packages [0]

[0]: https://www.djangopackages.com/grids/g/ecommerce/

Do you have to support legacy systems? If not, then do whatever takes you to the market fastest and helps you make progress with you current skill set. If you have used Django then go for it, Flask is another python based web framework which I like. Have you consider other leveraging other options like WooCommerce, Magento, Shopify ? You should able to find lot of themes online (mobile optimized) which will help you focus on your product.
I don't have to support any legacy systems, everything is greenfield. The thing is that I don't have much experience with either one of them (Angular or Django). I do have experience with Python, in fact, it's one of my favorite languages. I also enjoy JavaScript.

Well, in my case I'm really going have to create an online store. The project is something like "Uber For Food". I should have about 3 months for that, that includes time to learn the technologies.

I'm really unsure whether I should go with something "pre-baked"(like WooCommerce) or build something custom. I believe the latter will give me a lot more freedom, but will also potentially cause more problems.

I am not sure what you mean by "Uber for Food". Does it mean that you will allow local neighborhood folks to make and deliver food locally? Depending on where you are launching, you are already looking at bunch of regulatory issue. Add to that operations, sales plus infinite other minutiae. Three months is really not that long and your focus should be on getting to market, getting some traction and validating your business model. Groupon started as a wordpress site...
Thanks for your answer.

I think you misunderstood. Well, first of all, it's more like an online restaurant. Second, it's not going to get launched until next year (there's about a year left). Third, we're starting with a rather small area. The business model is in the works (and it's noting really complicated, to be honest), but I'm only really responsible for the technology part.

The Summer holidays are coming up, so that should give me time to develop the system.

The projects seems to be very exciting and interesting, but a part of me says that maybe going with something simple and pre-baked is the best solution business wise. Right now, I'm looking into some Django e-commerce plugins [0]. I was already thinking into doing Django server-side, and going with Angular on the client. Designing a RESTful API with Django and consuming it with Angular (this seems like a good fit). Then, I could use something like Ionic [1] to make mobile apps, straight from the developed website. This would be "two birds with one stone", since I'm also intending to develop mobile apps. Now this possibly justifies investing extra time and effort (business wise) into developing a solution from scratch.

[0]: https://www.djangopackages.com/grids/g/ecommerce/ [1]: http://ionicframework.com/

Curious as to why not use familiar technologies rather than two with absent familiarity.