PierreRoudaut / checkout-client

Client app consuming the API exposed by the checkout-api project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checkout.Client

Build Status

About

Checkout.Client is web application client that consumes the API exposed by Checkout.API

  • /shop

The shop page allows customers to retrieve the product catalog, add/update/remove item to their card, as well as clearing out the cart entirely. Using data binding and push notification subscription, the shop page will update itself in realtime according the the available quantity of products. The unique id of the customer cart is stored on the client side using localStorage.

Performing cart operations simultaneously on two different browsers should display product stock updates accordingly.

  • /admin

The admin page allows administrators to perform CRUD operations on products

UI

This web application implements Google's Material Design Specification and relies on UI components coming from:

Development Environment

Checkout API is powered by Angular 7

  1. Clone the repo
  2. Run the following commands:
npm install -g @angular/cli
npm install
## Replace the apiEndpoint with the url of the checkout-api server in src/environments/environment.ts
ng serve -o

Continuous Integration

Checkout.Client uses Travis CI to run tests

Testing

ng test

TODO

  • Support realtime products update for administration page
  • Add authentication
  • Setup continuous deployment script
  • Support checkout

About

Client app consuming the API exposed by the checkout-api project

License:MIT License


Languages

Language:TypeScript 65.4%Language:HTML 18.4%Language:CSS 12.3%Language:JavaScript 3.9%