Skip to content
This repository was archived by the owner on Jul 30, 2025. It is now read-only.

Commit 9c6688d

Browse files
Committing the angular signals demo
Committing the angular signals demo
1 parent 718c24b commit 9c6688d

37 files changed

+15375
-2
lines changed

README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,25 @@
1-
# angular-signals-demo
2-
This repository contains a sample application designed to demonstrate the usage of Angular Signals in a real-world scenario.
1+
# SignalDemo
2+
3+
This repository contains a sample application designed to demonstrate the usage of Angular Signals in a real-world scenario. By building a mini e-commerce application, we explore the power of reactive programming and how Signals can simplify state management in Angular.
4+
5+
## Concepts Covered
6+
7+
- Introduction to Signals: Learn the basics of Signals and their role in reactive programming.
8+
- State Updates: Implement Signals for seamless and efficient state changes.
9+
- Reactive Dependencies: Demonstrate how dependent computations update automatically.
10+
- Optimized UI Rendering: Use Signals to improve performance by reducing unnecessary re-renders.
11+
12+
## Why Signals?
13+
Angular Signals offer a clean and powerful way to manage application state and reactivity. Unlike traditional observables or services, Signals focus on:
14+
15+
- Declarative State Updates
16+
- Automatic Dependency Tracking
17+
- Performance Optimization
18+
19+
This application showcases how to leverage these benefits in a real-world application.
20+
21+
## Related blog
22+
23+
Please provide the link to the blog here, once it is published.
24+
25+

angular.json

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"signal-demo": {
7+
"projectType": "application",
8+
"schematics": {},
9+
"root": "",
10+
"sourceRoot": "src",
11+
"prefix": "app",
12+
"architect": {
13+
"build": {
14+
"builder": "@angular-devkit/build-angular:application",
15+
"options": {
16+
"outputPath": "dist/signal-demo",
17+
"index": "src/index.html",
18+
"browser": "src/main.ts",
19+
"polyfills": [
20+
"zone.js"
21+
],
22+
"tsConfig": "tsconfig.app.json",
23+
"assets": [
24+
{
25+
"glob": "**/*",
26+
"input": "public"
27+
}
28+
],
29+
"styles": [
30+
"@angular/material/prebuilt-themes/azure-blue.css",
31+
"src/styles.css"
32+
],
33+
"scripts": []
34+
},
35+
"configurations": {
36+
"production": {
37+
"budgets": [
38+
{
39+
"type": "initial",
40+
"maximumWarning": "500kB",
41+
"maximumError": "1MB"
42+
},
43+
{
44+
"type": "anyComponentStyle",
45+
"maximumWarning": "2kB",
46+
"maximumError": "4kB"
47+
}
48+
],
49+
"outputHashing": "all"
50+
},
51+
"development": {
52+
"optimization": false,
53+
"extractLicenses": false,
54+
"sourceMap": true
55+
}
56+
},
57+
"defaultConfiguration": "production"
58+
},
59+
"serve": {
60+
"builder": "@angular-devkit/build-angular:dev-server",
61+
"configurations": {
62+
"production": {
63+
"buildTarget": "signal-demo:build:production"
64+
},
65+
"development": {
66+
"buildTarget": "signal-demo:build:development"
67+
}
68+
},
69+
"defaultConfiguration": "development"
70+
},
71+
"extract-i18n": {
72+
"builder": "@angular-devkit/build-angular:extract-i18n"
73+
},
74+
"test": {
75+
"builder": "@angular-devkit/build-angular:karma",
76+
"options": {
77+
"polyfills": [
78+
"zone.js",
79+
"zone.js/testing"
80+
],
81+
"tsConfig": "tsconfig.spec.json",
82+
"assets": [
83+
{
84+
"glob": "**/*",
85+
"input": "public"
86+
}
87+
],
88+
"styles": [
89+
"@angular/material/prebuilt-themes/azure-blue.css",
90+
"src/styles.css"
91+
],
92+
"scripts": []
93+
}
94+
}
95+
}
96+
}
97+
}
98+
}

0 commit comments

Comments
 (0)