Skip to content

Commit ebc98f0

Browse files
committed
Angular Core In Depth Course
0 parents  commit ebc98f0

31 files changed

+11379
-0
lines changed

.editorconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Editor configuration, see http://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
indent_style = space
7+
indent_size = 2
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
max_line_length = off
13+
trim_trailing_whitespace = false

.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# See http://help.github.com/ignore-files/ for more about ignoring files.
2+
3+
# compiled output
4+
/dist
5+
/tmp
6+
/out-tsc
7+
8+
# dependencies
9+
/node_modules
10+
11+
# IDEs and editors
12+
/.idea
13+
.project
14+
.classpath
15+
.c9/
16+
*.launch
17+
.settings/
18+
*.sublime-workspace
19+
20+
# IDE - VSCode
21+
.vscode/*
22+
!.vscode/settings.json
23+
!.vscode/tasks.json
24+
!.vscode/launch.json
25+
!.vscode/extensions.json
26+
27+
# misc
28+
/.sass-cache
29+
/connect.lock
30+
/coverage
31+
/libpeerconnection.log
32+
npm-debug.log
33+
yarn-error.log
34+
testem.log
35+
/typings
36+
37+
# System Files
38+
.DS_Store
39+
Thumbs.db

README.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
2+
## The Angular Core In Depth Course
3+
4+
This repository contains the code of the [Angular Core In Depth Course](https://angular-university.io/course/angular-course).
5+
6+
This course repository is updated to Angular v6, and there is a package-lock.json file available, for avoiding semantic versioning installation issues.
7+
8+
![Angular Core In Depth Course](https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-core-in-depth-small.png)
9+
10+
11+
# Installation pre-requisites
12+
13+
IMPORTANT: Please use the latest Node and especially NPM, to make sure the package-lock.json is used.
14+
15+
For running this project we need and npm installed on our machine. These are some tutorials to install node in different operating systems:
16+
17+
*Its important to install the latest version of Node*
18+
19+
- [Install Node and NPM on Windows](https://www.youtube.com/watch?v=8ODS6RM6x7g)
20+
- [Install Node and NPM on Linux](https://www.youtube.com/watch?v=yUdHk-Dk_BY)
21+
- [Install Node and NPM on Mac](https://www.youtube.com/watch?v=Imj8PgG3bZU)
22+
23+
24+
# Installing the Angular CLI
25+
26+
With the following command the angular-cli will be installed globally in your machine:
27+
28+
npm install -g @angular/cli
29+
30+
31+
# How To install this repository
32+
33+
We can install the master branch using the following commands:
34+
35+
git clone https://github.com/angular-university/rxjs-course.git
36+
37+
This repository is made of several separate npm modules, that are installable separately. For example, to run the au-input module, we can do the following:
38+
39+
cd angular-course
40+
npm install
41+
42+
Its also possible to install the modules as usual using npm:
43+
44+
npm install
45+
46+
NPM 5 or above has the big advantage that if you use it you will be installing the exact same dependencies than I installed in my machine, so you wont run into issues caused by semantic versioning updates.
47+
48+
This should take a couple of minutes. If there are issues, please post the complete error message in the Questions section of the course.
49+
50+
# To Run the Development Backend Server
51+
52+
In order to be able to provide realistic examples, we will need in our playground a small REST API backend server. We can start the sample application backend with the following command:
53+
54+
npm run server
55+
56+
This is a small Node REST API server.
57+
58+
# To run the Development UI Server
59+
60+
To run the frontend part of our code, we will use the Angular CLI:
61+
62+
npm start
63+
64+
The application is visible at port 4200: [http://localhost:4200](http://localhost:4200)
65+
66+
67+
68+
# Important
69+
70+
This repository has multiple branches, have a look at the beginning of each section to see the name of the branch.
71+
72+
At certain points along the course, you will be asked to checkout other remote branches other than master. You can view all branches that you have available remotely using the following command:
73+
74+
git branch -a
75+
76+
The remote branches have their starting in origin, such as for example 1-navigation-and-containers.
77+
78+
We can checkout the remote branch and start tracking it with a local branch that has the same name, by using the following command:
79+
80+
git checkout -b section-1 origin/1-navigation-and-containers
81+
82+
It's also possible to download a ZIP file for a given branch, using the branch dropdown on this page on the top left, and then selecting the Clone or Download / Download as ZIP button.
83+
84+
# Other Courses
85+
86+
# RxJs In Practice Course
87+
88+
If you are looking for the [RxJs In Practice Course](https://angular-university.io/course/rxjs-course), the repo with the full code can be found here:
89+
90+
![RxJs In Practice Course](https://s3-us-west-1.amazonaws.com/angular-university/course-images/rxjs-in-practice-course.png)
91+
92+
93+
# NgRx In Depth Course
94+
95+
If you are looking for the [NgRx In Depth Course](https://angular-university.io/course/angular-ngrx-course), the repo with the full code can be found here:
96+
97+
![NgRx In Depth Course](https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-ngrx-course.png)
98+
99+
100+
101+
# Angular PWA Course
102+
103+
If you are looking for the [Angular PWA Course](https://angular-university.io/course/angular-pwa-course), the repo with the full code can be found here:
104+
105+
![Angular PWA Course - Build the future of the Web Today](https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-pwa-course.png)
106+
107+
# Angular Security Masterclass
108+
109+
If you are looking for the [Angular Security Masterclass](https://angular-university.io/course/angular-security-course), the repo with the full code can be found here:
110+
111+
[Angular Security Masterclass](https://github.com/angular-university/angular-security-course).
112+
113+
![Angular Security Masterclass](https://s3-us-west-1.amazonaws.com/angular-university/course-images/security-cover-small-v2.png)
114+
115+
# Angular Advanced Library Laboratory Course
116+
117+
If you are looking for the Angular Advanced Course, the repo with the full code can be found here:
118+
119+
[Angular Advanced Library Laboratory Course: Build Your Own Library](https://angular-university.io/course/angular-advanced-course).
120+
121+
![Angular Advanced Library Laboratory Course: Build Your Own Library](https://angular-academy.s3.amazonaws.com/thumbnails/advanced_angular-small-v3.png)
122+
123+
124+
## RxJs and Reactive Patterns Angular Architecture Course
125+
126+
If you are looking for the RxJs and Reactive Patterns Angular Architecture Course code, the repo with the full code can be found here:
127+
128+
[RxJs and Reactive Patterns Angular Architecture Course](https://angular-university.io/course/reactive-angular-architecture-course)
129+
130+
![RxJs and Reactive Patterns Angular Architecture Course](https://s3-us-west-1.amazonaws.com/angular-academy/blog/images/rxjs-reactive-patterns-small.png)
131+
132+
133+
134+
## Angular Ngrx Reactive Extensions Architecture Course
135+
136+
If you are looking for the Angular Ngrx Reactive Extensions Architecture Course code, the repo with the full code can be found here:
137+
138+
[Angular Ngrx Reactive Extensions Architecture Course](https://angular-university.io/course/angular2-ngrx)
139+
140+
[Github repo for this course](https://github.com/angular-university/ngrx-course)
141+
142+
![Angular Ngrx Course](https://angular-academy.s3.amazonaws.com/thumbnails/ngrx-angular.png)
143+
144+
145+
146+
## Angular 2 and Firebase - Build a Web Application Course
147+
148+
If you are looking for the Angular 2 and Firebase - Build a Web Application Course code, the repo with the full code can be found here:
149+
150+
[Angular 2 and Firebase - Build a Web Application](https://angular-university.io/course/build-an-application-with-angular2)
151+
152+
[Github repo for this course](https://github.com/angular-university/angular-firebase-app)
153+
154+
![Angular firebase course](https://angular-academy.s3.amazonaws.com/thumbnails/angular_app-firebase-small.jpg)
155+
156+
157+
## Complete Typescript 2 Course - Build A REST API
158+
159+
If you are looking for the Complete Typescript 2 Course - Build a REST API, the repo with the full code can be found here:
160+
161+
[https://angular-university.io/course/typescript-2-tutorial](https://github.com/angular-university/complete-typescript-course)
162+
163+
[Github repo for this course](https://github.com/angular-university/complete-typescript-course)
164+
165+
![Complete Typescript Course](https://angular-academy.s3.amazonaws.com/thumbnails/typescript-2-small.png)
166+

angular.json

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"angular-course": {
7+
"root": "",
8+
"sourceRoot": "src",
9+
"projectType": "application",
10+
"prefix": "app",
11+
"schematics": {},
12+
"architect": {
13+
"build": {
14+
"builder": "@angular-devkit/build-angular:browser",
15+
"options": {
16+
"outputPath": "dist/angular-course",
17+
"index": "src/index.html",
18+
"main": "src/main.ts",
19+
"polyfills": "src/polyfills.ts",
20+
"tsConfig": "src/tsconfig.app.json",
21+
"assets": [
22+
"src/favicon.ico",
23+
"src/assets"
24+
],
25+
"styles": [
26+
"src/styles.css"
27+
],
28+
"scripts": []
29+
},
30+
"configurations": {
31+
"production": {
32+
"fileReplacements": [
33+
{
34+
"replace": "src/environments/environment.ts",
35+
"with": "src/environments/environment.prod.ts"
36+
}
37+
],
38+
"optimization": true,
39+
"outputHashing": "all",
40+
"sourceMap": false,
41+
"extractCss": true,
42+
"namedChunks": false,
43+
"aot": true,
44+
"extractLicenses": true,
45+
"vendorChunk": false,
46+
"buildOptimizer": true
47+
}
48+
}
49+
},
50+
"serve": {
51+
"builder": "@angular-devkit/build-angular:dev-server",
52+
"options": {
53+
"browserTarget": "angular-course:build"
54+
},
55+
"configurations": {
56+
"production": {
57+
"browserTarget": "angular-course:build:production"
58+
}
59+
}
60+
},
61+
"extract-i18n": {
62+
"builder": "@angular-devkit/build-angular:extract-i18n",
63+
"options": {
64+
"browserTarget": "angular-course:build"
65+
}
66+
},
67+
"test": {
68+
"builder": "@angular-devkit/build-angular:karma",
69+
"options": {
70+
"main": "src/test.ts",
71+
"polyfills": "src/polyfills.ts",
72+
"tsConfig": "src/tsconfig.spec.json",
73+
"karmaConfig": "src/karma.conf.js",
74+
"styles": [
75+
"src/styles.css"
76+
],
77+
"scripts": [],
78+
"assets": [
79+
"src/favicon.ico",
80+
"src/assets"
81+
]
82+
}
83+
},
84+
"lint": {
85+
"builder": "@angular-devkit/build-angular:tslint",
86+
"options": {
87+
"tsConfig": [
88+
"src/tsconfig.app.json",
89+
"src/tsconfig.spec.json"
90+
],
91+
"exclude": [
92+
"**/node_modules/**"
93+
]
94+
}
95+
}
96+
}
97+
},
98+
"angular-course-e2e": {
99+
"root": "e2e/",
100+
"projectType": "application",
101+
"architect": {
102+
"e2e": {
103+
"builder": "@angular-devkit/build-angular:protractor",
104+
"options": {
105+
"protractorConfig": "e2e/protractor.conf.js",
106+
"devServerTarget": "angular-course:serve"
107+
},
108+
"configurations": {
109+
"production": {
110+
"devServerTarget": "angular-course:serve:production"
111+
}
112+
}
113+
},
114+
"lint": {
115+
"builder": "@angular-devkit/build-angular:tslint",
116+
"options": {
117+
"tsConfig": "e2e/tsconfig.e2e.json",
118+
"exclude": [
119+
"**/node_modules/**"
120+
]
121+
}
122+
}
123+
}
124+
}
125+
},
126+
"defaultProject": "angular-course"
127+
}

e2e/protractor.conf.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Protractor configuration file, see link for more information
2+
// https://github.com/angular/protractor/blob/master/lib/config.ts
3+
4+
const { SpecReporter } = require('jasmine-spec-reporter');
5+
6+
exports.config = {
7+
allScriptsTimeout: 11000,
8+
specs: [
9+
'./src/**/*.e2e-spec.ts'
10+
],
11+
capabilities: {
12+
'browserName': 'chrome'
13+
},
14+
directConnect: true,
15+
baseUrl: 'http://localhost:4200/',
16+
framework: 'jasmine',
17+
jasmineNodeOpts: {
18+
showColors: true,
19+
defaultTimeoutInterval: 30000,
20+
print: function() {}
21+
},
22+
onPrepare() {
23+
require('ts-node').register({
24+
project: require('path').join(__dirname, './tsconfig.e2e.json')
25+
});
26+
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
27+
}
28+
};

e2e/src/app.e2e-spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { AppPage } from './app.po';
2+
3+
describe('workspace-project App', () => {
4+
let page: AppPage;
5+
6+
beforeEach(() => {
7+
page = new AppPage();
8+
});
9+
10+
it('should display welcome message', () => {
11+
page.navigateTo();
12+
expect(page.getParagraphText()).toEqual('Welcome to angular-course!');
13+
});
14+
});

0 commit comments

Comments
 (0)