

If you had to build a large-scale eCommerce solution what would it look like? - infinitone

What do you guys think it&#x27;d look like?  How long would it take to develop inhouse? What are the costs?<p>Just off the top of my head, some of the things it&#x27;d cover: --
- i18n&#x2F;localization
- supporting multiple currencies
- product catalog (search, filter, sorting)
- shopping cart (user-based, add&#x2F;remove items, checkout, payments)
- reporting&#x2F;analytics
- inventory 
- dealing with tax APIs, shipping APIs
- coupon system
- security (any unique security factors involved in ecommerce apart from norm?)
- how to handle high volume transactions?<p>I know there are solutions out there (Shopify, websphere, magento) but lets assume you wanted to build it inhouse.
======
switch33
An in-house project would take a long time to develop most likely.

If you want to develop a large service providing project like an e-commerce
site then you should read up on microservices if you haven't read up on them.
Microservices basically split a lot of project logic into smaller components
and workers usually that basically each are tasked with very specific things.

Netflix is a perfect example of microservices, where data is tracked
throughout the whole application, there is a good caching layer, and
everything is logged/meant to be restarted if it fails etc.

Building distributed services using finagle(from twitter), and hystrix(from
netflix) as the start of the backend can be helpful as a start for relatively
any project.

Ingesting large amounts of APIs can be done with a distributed architecture
using several seperate akka clusters. This ends up being a bit more complex
but there are good resources for this out there, some of which were developed
for the company "fab" which has docs online like these:
[https://secure.trifork.com/dl/goto-
berlin-2013/GOTO%20Night%...](https://secure.trifork.com/dl/goto-
berlin-2013/GOTO%20Night%20Berlin%20-%20James%20Lewis%2020130829.pdf) .

Even if you are developing something in-house odds are if you don't want to
break the budget then you should find good parts that are already are working
very well out there.

If you want more specifics, ask a more specific question though.

