About Breese.Store
Blazing Fast eCommerce Solution
Breese.Store is a fully-functioning eCommerce solution built on Node.js and MongoDB. I built the site 100% from scratch, complete with credit card payment integration, order management system, and automated email communications. Later, I integrated this very slick front-end "skin" (complete with mock fashion photos!) which was developed by the awesome folks at
Colorlib.
Why Node.js?
I chose to use Node.js because it is great in building fast, scalable web applications. It’s capable of handling a huge number of simultaneous connections with high throughput, which equates to high scalability. Node.js uses JavaScript programming language via the V8 engine. A key paradigm that JavaScripts supports is Event-Driven, asynchronous programming with the help of callbacks, promises, and async/await patterns. I mainly use promises in Breese.Store, which appear on both the frontend and backend of the app.
What about PHP/Python/Ruby etc.?
Web applications powered by languages like PHP, Python, and Ruby often results in a user experience that seems slow, boggy, and non-responsive.
The LAMP stack was the first web development platform I learned and, over the years, I have built dozens of web applications on it. Some utilized frameworks such as Drupal and Wordpress, while others were built on custom MVC and object-oriented solutions. The drawback to scripting languages like PHP is that each web request is assigned their own CPU thread. If 100 users request a page at the exact moment, 100 threads would queue up to use the CPU. If a particular thread needs to perform a high intensive I/O operation, all subsequent requests have to wait until this request has completed before they can even begin.
With Node.js, it is different. When 100 users simutaneously send requests to a Node.js HTTPS server, they all share a single main thread and all get immediate access to the CPU via the Node.js Event Loop. In this scenario, if a particular request requires an intensive I/O operation, Node automatically hands it over to the operating system via a temporary parallel thread, freeing up the event loop to handle tasks of subsequent requests. This asynchronous processing allows the server to handle web traffic in a much more efficient manner, ultimately resulting in a nimbler and more consistent experience for the end user.
More About Steve
I develop performant and easy-to-maintain web applications for big-named clients at my current employer. On the side, I keep busy developing and improving some pretty awesome web apps. In the process, have become proficient in many cloud computing, network and technical operations. Please checkout my personal website at
www.SteveBreese.com to see what drives me forward.
Got a question? Contact me any time!