tarekahsan709 / cefalo-ecommerce

Cefalo Full-stack Web Developer Assignment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cefalo Full-stack Web Developer Assignment

๐Ÿ”ฆ Live

๐Ÿ”– Table of Contents

๐Ÿ”จ Built with

โš™๏ธ Tools and Technologies

๐Ÿ”– Feature List

  • User
    • Registration
    • Login
  • Product
    • Product list view
    • Product details view
    • Product variant selection
    • Add to cart
    • Already added product label
    • Unavailable product label
  • Cart
    • Checkout
    • Remove product
    • Increment/decrement product quantity
    • Cart item number in header.
    • Total price

Installation

  1. Install Node.js and MongoDB
  2. Install Angular CLI: npm i -g @angular/cli
  3. From project root folder install all the dependencies: npm i

Run

Development mode

npm run dev: concurrently execute MongoDB, Angular build, TypeScript compiler and Express server.

A window will automatically open at localhost:4200. Angular and Express files are being watched. Any change automatically creates a new bundle, restart Express server and reload your browser.

Production mode

npm run prod: run the project with a production bundle and AOT compilation listening at localhost:3000

Docker

  1. docker-compose up
  2. Go to localhost:3000

Running tests

Run ng test to execute the frontend unit tests via Karma.

Run ng e2e to execute the end-to-end tests via Protractor.

Run npm run testbe to execute the backend tests via Mocha (it requires mongod already running).

Running linters

Run npm run lint to execute TS linting, HTML linting and SASS linting.

๐Ÿ’พ Database Seeding

$ npm run seed

Author

About

Cefalo Full-stack Web Developer Assignment

License:MIT License


Languages

Language:TypeScript 85.2%Language:HTML 10.5%Language:JavaScript 2.4%Language:SCSS 0.9%Language:Shell 0.8%Language:Dockerfile 0.2%