Skip to content

Commit 09362ab

Browse files
committed
Angular version update to 20
1 parent a30a0e2 commit 09362ab

21 files changed

+7159
-10432
lines changed

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# GitHub Copilot Instructions for Angular
22

3-
Generate code following these modern Angular 19+ best practices:
3+
Generate code following these modern Angular 20+ best practices:
44

55
## Dependency Injection
66
- Always use functional injection with `inject()` instead of constructor-based injection

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<a href="LICENSE">
1717
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License">
1818
</a>
19-
<img src="https://img.shields.io/badge/Angular-19-DD0031.svg" alt="Angular 19">
19+
<img src="https://img.shields.io/badge/Angular-19-DD0031.svg" alt="Angular 20">
2020
<img src="https://img.shields.io/badge/.NET-9-512BD4.svg" alt=".NET 9">
2121
<img src="https://img.shields.io/badge/PostgreSQL-16-336791.svg" alt="PostgreSQL 16">
2222
</p>
@@ -32,7 +32,7 @@
3232

3333
A production-ready **full-stack starter kit** built with modern technologies and best practices:
3434

35-
- **Frontend**: Angular 19 with signals, Material Design, and TailwindCSS
35+
- **Frontend**: Angular 20 with signals, Material Design, and TailwindCSS
3636
- **Backend**: .NET 9 API with Clean Architecture
3737
- **Database**: PostgreSQL with Dapper
3838
- **DevOps**: Docker, GitHub Actions, NGINX
@@ -88,7 +88,7 @@ docker-compose up
8888
<td width="33%">
8989
<h3>📱 Modern Frontend</h3>
9090
<ul>
91-
<li>Angular 19 with standalone components</li>
91+
<li>Angular 20 with standalone components</li>
9292
<li>Signal-based state management</li>
9393
<li>Material Design + TailwindCSS</li>
9494
<li>Dark/light theme support</li>

docs/docker-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The application uses Docker to containerize all services for consistent developm
2727

2828
The Docker setup includes:
2929

30-
- Frontend container (Angular 19)
30+
- Frontend container (Angular 20)
3131
- Backend API container (.NET 9)
3232
- Database container (PostgreSQL)
3333
- Nginx container (Reverse proxy/Load balancer)

docs/frontend.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ permalink: /Frontend
88

99
## Overview
1010

11-
The frontend of this project is built with Angular 19, leveraging modern Angular features including standalone components, signals for state management, the inject() function for dependency injection, and a powerful combination of Angular Material and TailwindCSS for styling.
11+
The frontend of this project is built with Angular 20, leveraging modern Angular features including standalone components, signals for state management, the inject() function for dependency injection, and a powerful combination of Angular Material and TailwindCSS for styling.
1212

1313
<div style="text-align: center; margin: 30px 0;">
1414
<a href="screenshots/contact-list-page.png" target="_blank">
@@ -19,7 +19,7 @@ The frontend of this project is built with Angular 19, leveraging modern Angular
1919

2020
## Technology Stack
2121

22-
- **Angular 19**
22+
- **Angular 20**
2323
- Standalone components architecture
2424
- Modern dependency injection with `inject()`
2525
- Signal-based state management

docs/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permalink: /
99
# Clean Architecture Full-Stack Starter
1010
{: .fs-9 }
1111

12-
A production-ready full-stack application with Angular 19, .NET 9, and PostgreSQL using Clean Architecture principles
12+
A production-ready full-stack application with Angular 20, .NET 9, and PostgreSQL using Clean Architecture principles
1313
{: .fs-6 .fw-300 }
1414

1515
[Get Started](#-quick-start-in-60-seconds){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 }
@@ -26,12 +26,12 @@ A production-ready full-stack application with Angular 19, .NET 9, and PostgreSQ
2626
</a>
2727
</p>
2828

29-
A modern, full-stack contact management system built with Angular 19, .NET 9, and PostgreSQL following Clean Architecture principles. This project demonstrates how to structure enterprise applications for maintainability, testability, and scalability while providing a complete development workflow with Docker containerization.
29+
A modern, full-stack contact management system built with Angular 20, .NET 9, and PostgreSQL following Clean Architecture principles. This project demonstrates how to structure enterprise applications for maintainability, testability, and scalability while providing a complete development workflow with Docker containerization.
3030

3131
## 🌟 What You'll Learn
3232

3333
- **Clean Architecture** principles and implementation
34-
- **Angular 19** with signals, standalone components, and Material Design
34+
- **Angular 20** with signals, standalone components, and Material Design
3535
- **.NET 9** with dependency injection and repository pattern
3636
- **PostgreSQL** with Dapper for efficient data access
3737
- **JWT Authentication** with role-based permissions
@@ -86,7 +86,7 @@ That's it! Visit [http://localhost](http://localhost) in your browser.
8686

8787
The application is structured into multiple containers that work together:
8888

89-
- **Frontend Container**: Angular 19 with Material Design and TailwindCSS
89+
- **Frontend Container**: Angular 20 with Material Design and TailwindCSS
9090
- **API Container**: .NET 9 RESTful API built with Clean Architecture
9191
- **Database Container**: PostgreSQL for data persistence
9292
- **NGINX Container**: Reverse proxy that routes requests to the appropriate service

frontend/angular.json

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"prefix": "app",
1616
"architect": {
1717
"build": {
18-
"builder": "@angular-devkit/build-angular:application",
18+
"builder": "@angular/build:application",
1919
"options": {
2020
"outputPath": "dist/contact-portal",
2121
"index": "src/index.html",
@@ -67,7 +67,7 @@
6767
"defaultConfiguration": "production"
6868
},
6969
"serve": {
70-
"builder": "@angular-devkit/build-angular:dev-server",
70+
"builder": "@angular/build:dev-server",
7171
"configurations": {
7272
"production": {
7373
"buildTarget": "contact-portal:build:production"
@@ -79,10 +79,10 @@
7979
"defaultConfiguration": "development"
8080
},
8181
"extract-i18n": {
82-
"builder": "@angular-devkit/build-angular:extract-i18n"
82+
"builder": "@angular/build:extract-i18n"
8383
},
8484
"test": {
85-
"builder": "@angular-devkit/build-angular:karma",
85+
"builder": "@angular/build:karma",
8686
"options": {
8787
"polyfills": [
8888
"zone.js",
@@ -108,5 +108,31 @@
108108
},
109109
"cli": {
110110
"analytics": false
111+
},
112+
"schematics": {
113+
"@schematics/angular:component": {
114+
"type": "component"
115+
},
116+
"@schematics/angular:directive": {
117+
"type": "directive"
118+
},
119+
"@schematics/angular:service": {
120+
"type": "service"
121+
},
122+
"@schematics/angular:guard": {
123+
"typeSeparator": "."
124+
},
125+
"@schematics/angular:interceptor": {
126+
"typeSeparator": "."
127+
},
128+
"@schematics/angular:module": {
129+
"typeSeparator": "."
130+
},
131+
"@schematics/angular:pipe": {
132+
"typeSeparator": "."
133+
},
134+
"@schematics/angular:resolver": {
135+
"typeSeparator": "."
136+
}
111137
}
112138
}

0 commit comments

Comments
 (0)