Building e-commerce web apps has never been easier.

All things developers love.

Sofa is an SDK that makes building e-commerce web apps for the CouchCommerce platform a breeze.

Feature-rich

The sofa SDK comes with tons of great features that make it super easy to build full-fledged e-commerce web apps. We built services for common tasks, you just use them.

Modular

Sofa is built entirely with modularity in mind. All components are packaged separately and are installable via several package managers. Take just what you need, nothing more.

Framework agnostic

No framework required. Sofa components are all VanillaJS. However, we provide you with optional AngularJS components and bindings. Choose what works best for you.

Preview the sofa web app

Features

Beautiful Search

Sofa comes with a super easy to use search service that lets you search through your product catalog. Don't want to send a search request on every key stroke? No problem. Sofa's search service comes with throttling support.

Easy Checkout

Want to build a checkout that is able to provide more than just one payment option? Sofa's checkout services come with well designed APIs that help you building checkout that support all common payment options.

Promise-based API

All components' asynchronous APIs are promise-based, which lets you manage flow control in your applications. No more callback hell.

Basket Handling

Every e-commerce app needs a basket so customers can put their products into it. With sofa's basket service you don't have to care about implementing all the logic that is required to make that happen.

Packaged Components

Sofa components are sliced into separate packages which are installable via npm and Bower. That leads to better modularity and you can decide by yourself which components you take and which you don't.

Catalog Service

Accessing categories or products from your catalog is as easy as calling a single method on one of sofa's services. With catalog service, you get all this in a readable promise-based API.

Getting started with our sample app

Get the source

Make sure you have Git, NodeJS and Grunt installed on your local machine. Our entire code base is hosted as a Git repository on GitHub. By running this command, you clone the repository, install all its required dependencies and create a local build that runs on your local machine.

$ git clone http://github.com/sofa/app && cd app && ./run

Or click the following button to download the app (you still have to run the provided run script):

Download

Play with it

Congratulations! You now have a running clone of our web application installed. Open your browser of choice and visit http://localhost:9000. The web app comes with a server that mocks data, feel free to click around and have some fun!

Play with it

Discover

Now it's time to find out how things actually work. Take a look under the hood, browse the source, tweak it until you like it and use our sofa components to make your customized e-commerce web application out of it!

Discover

Used and trusted by


Sofa is open source. It's hosted, developed, and maintained on GitHub.

View on GitHub