Skip to content

Ghostavio/ember-cart

Repository files navigation

Ember-cart

When I received the assignment I was in doubt about either using Ember or React, and since I've been recently playing with Ember to check what has been released in the last iterations I decided to go with Ember first. After it's finished, port it to React should be possible in a few hours or so.

So for this mockup I started solely focusing on functionality and then later worked on the design, did some really awful choice of colors and then later ended up with this pallet — thanks Yves :)

This mockup is doing a request to the API sent to me on the email and using localStorage for the cart.

I started doing a list of products but then I read the email again and noticed it was asking for a "grid" of products, so I reworked the design to better fit that description. Since the API doesn't provide a name for the products, I'm just truncating the description with the first words fitting 25 characters and using it as name, I hope this isn't a problem.

At first I thought of doing a separated page for the cart, but soon realized a snippet approach would be more user friendly.

Apart from the requirements asked on the assignment, this mockup also implements a few more features:

  • it's possible to alter the quantity of any given item in the cart, up to the limit in the stock
  • delete button to remove items from the cart
  • total sum of prices*quantities
  • not allowing user to add item to cart if item is out of stock

Nice improvements to make

  • use fastboot to do server side rendering (universal app)
  • implement sorting
  • implement simple front-end product search

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • npm install ember-cli -g if you haven't already
  • git clone [email protected]:Ghostavio/ember-cart.git this repository
  • cd ember-cart
  • npm install
  • bower install

Running / Development

  • ember server to tun simple development server
  • ember fastboot --serve-assets to run fastboot server (server-side rendering)
  • Visit your app at http://localhost:4200 (or http://localhost:3000 if you choose to run the fastboot server).

Building

  • ember build (development)
  • ember build --environment production (production)

Deploying

I'm deploying it to Heroku. It's extremely simple.

Of course you need a Heroku account and toolbelt, then just follow the next steps from within your application folder:

heroku create <OPTIONAL_APP_NAME> --buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/emberjs.tgz

And now just deploy using:

git push heroku master

You can see it live at http://ember-cart.herokuapp.com :)

Further Reading / Useful Links

About

this is mockup of a e-commerce cart system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published