Git Product home page Git Product logo

angularlabs's Introduction

Angular Labs

Labs for the Angular Courses

Getting started

  1. Prerequisites
  2. To install on your machine
  3. Lab instructions
  4. To run a solution
  5. About the warehouse
  6. RESTful APIs
  7. Instructor notes

Prerequisites

There are only four things needed for setup and to run the labs:

  1. bash
  2. node ^6.7 with npm
  3. The Angular cli (ng) ^1.3
  4. mongoDB ^3.2

If you want some installation help including verification steps, go here .

Lab instructions

Each lab's instructions are located in the instructions folder.

To run the solutions

Each lab can be run without copying any files. Just open a bash shell, cd to the lab solution folder and type in

npm install
npm start

If you want to use a solution from a prior lab as a starter, either copy the whole folder to a new one or simply begin editing the code in that folder.

About the warehouse

We have products, locations, orders, and customers. They are stored in collections (ie. tables) in a mongo database.

Orders

Have a status:

Status Meaning
0 Ready to pick, pack, and ship
1 Shipped
2 Has problem(s) that a supervisor should fix

Locations

LocationID is a string with this format: AASHB where ...

  • AA- Aisle - 01-99
  • S - Slot - A-Z
  • H - Shelf - 1-9
  • B - Bin - A-Z

For example, 01A1A = Aisle 1, Slot A, Shelf 1, Bin A

Only one product will be stored in a location so locationID is a primary key

RESTful APIs

Orders

  • GET /api/orders/readyToShip - Get a list of orders that are ready to ship (status=0 means "ready to ship". status=1 means "shipped")
  • GET /api/orders/ - Get a list of all orders
  • GET /api/orders/ - Get a single order
  • PATCH /api/orders//markAsShipped - Mark the order as "shipped" (status=1)
  • PATCH /api/orders//markAsProblem - Mark the order as "has a problem" (status=2)
  • POST /api/orders/ - Create a new order. New order record is in the body.
  • PUT /api/orders/ - Replace the order with what is in the body.
  • DELETE /api/orders/ - Delete the order
  • PATCH /api/orders/ - Update the order with the values in the body.

Products

  • GET /api/products - All products
  • GET /api/products/ - A single product with that id (ids are between 1 and about 77 currently)
  • GET /api/products/featured - All featured products (Those we want to promote. Have featured==true)
  • GET /api/products?search= - All products with searchString as part of the name.
  • PUT /api/products - Insert a new product into the database. The product's fields are in the body.
  • PATCH /api/products/ - Update the product. Updated fields are in the body.
  • DELETE /api/products/ - Delete the product

Customers

  • GET /api/customers - All customers
  • POST /api/customers - Create a new customer
  • GET /api/customers/ - A single customer. (ids are between 1 and 78)
  • PUT /api/customers/ - Replace a single customer
  • PATCH /api/customers/ - Update a single customer
  • DELETE /api/customers/ - Delete a single customer

Categories

  • GET /api/categories - All categories
  • GET /api/categories/ - Read one category

Locations

  • GET /api/locations - All locations
  • POST /api/locations - Creaes a new location
  • GET /api/locations/ - Read location for locationID
  • PUT /api/locations/ - Replace location at locationID
  • PATCH /api/locations/ - Update location at locationID
  • DELETE /api/locations/ - Delete location ID
  • GET /api/locations/forProduct/ - Get all locations where product can be found.

Instructor Notes

Things that may be helpful to instructors teaching this course.

Approximate timing

Monday

  • Intro
  • Intro Lab
  • Angular CLI
  • Angular CLI Lab
  • Lunch
  • Big Picture
  • Big Picture Lab
  • TypeScript

Tuesday

  • TypeScript Lab
  • Components Intro
  • Components Intro Lab
  • Lunch
  • Property Binding
  • Property Binding Lab
  • Built-in Directives

Wednesday

  • Built-in Directives Lab
  • Routing
  • Routing Lab
  • Lunch
  • Event Binding
  • Event Binding Lab
  • Forms and 2-way Binding
  • Forms and 2-way Binding Lab

Thursday

  • Composition with Components
  • Composition with Components Lab
  • Ajax
  • Lunch
  • Ajax Lab
  • Observables
  • Observables Lab

Friday

  • Services
  • Services Lab
  • Pipes
  • Lunch
  • Pipes Lab
  • Modules
  • Modules Lab

angularlabs's People

Contributors

rappayne avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.