##Overview This is a very simple application to demonstrate the capabilities of Angular 2. It is not a tutorial but rather a teaching tool to help me introduce Angular 2 to programmers without prior exposure to Angular 2. This repo contains the code completed during hands-on programming sessions. Each session is meant to be an 1 to 1.5 hours long with one session per day. So this repo is more of a reference for me and anyone that attended the sessions.
##Prerequisites
- Git
- Nodejs 4.x or later
- NPM 3.x.x or later <-- will be installed with nodejs from the above link.
- Angular CLI
##Commits/Tutorial Outline You can check out any point of the tutorial using:
git checkout day-?
##Day 01
Use git checkout day-01
to get the work done on day 1.
This project was generated with angular-cli version 1.0.0-beta.15. This step contains an empty angular2 project generated by angular-cli
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive/pipe/service/class
.
####Employee Component
Create an EmployeeComponent
using the command ng g c employee
.
NOTE: The generated components will always have
component.css
file for component stylescomponent.html
file for the components templatecomponent.ts
file for the components logiccomponent.spec.ts
file for the unit tests
####Employee Class
Create an Employee
class using the command ng g class employee
. This represents the Employee Model.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve
.
To get more help on the angular-cli
use ng --help
or go check out the Angular-CLI README.
##Day 02
- Demonstrated two-way and event bindings.
- Created a mock add forms (but does not use submit yet, just click event)
- Demonstrated *ngFor.
- Added bootstrap for styling.
##Day 03
- Created
EmployeeService
to communicate with HTTP server. - HTTP server is a simple
nodejs
server built usingexpress
. - Implemented
GET
,POST
andDELETE
inEmployeeService
.
###Server
The server is a simple API to demonstrate the EmployeeService
.
####Installation
Navigate into the server/
folder inside the project root folder and run npm install
to install the prequistes. i.e. express
and body-parser
.
####Running the Server
Navigate to the server/
folder in the project root and execute node index.js
.
NOTE: ng serve
and node index.js
needs to be run in separate terminals.
##Day 04
- Created employee edit form.
- Implemented
PUT
inEmployeeService
. - Used
update
method ofEmployeeService
to update an employee. - Demonstrated
*ngIf
. - Used
*ngIf
to show/hide add/update form.
##Day 05
- Installed bootstrap from npm using
npm install bootstrap --save
. - Edited
angular-cli.json
to include bootstrap styles. - Created employee add, edit and detail components.
- Added routing.