Skip to content

puntotech/angular-renaissance-fundamentals-workshop

Repository files navigation

Angular Renaissance Fundamentals Workshop

In this workshop, we develop an Angular Renaissance application (Angular 17+ until today) from scratch, introducing the fundamental concepts of Angular 17+ development, tailored for developers who have never built web applications with Angular before.

Super Heroes Workshop!

Prerequisites

Installation

Install Angular

Refer to the official Angular installation documentation.

In summary, to install Angular CLI, execute the following command:

npm install -g @angular/cli

Install the Angular Fundamentals Workshop

  1. git clone [email protected]:puntotech/angular-renaissance-fundamentals-workshop.git
  2. cd angular-renaissance-fundamentals-workshop
  3. npm i
  4. npm start

The npm start script invokes the serve:all command, which runs the serve:api and serve:web commands concurrently. Of course, you can invoke each command separately if necessary.

"start": "npm run serve:all",
"serve:web": "ng serve --port 4200 --open",
"serve:api": "npm --prefix <path> run <command>",
"serve:all": "concurrently \"npm run serve:api\" \"npm run serve:web\"",

The web application will open in http://localhost:4200 in your browser.

The API will be available at http://localhost:9001/ starting from the 06.01-http branch.

How to Complete the Workshop

The repository is organized into numbered branches (01, 02, 03, ...), which represent the steps to follow in the workshop. The first step is branch 01, followed by 02, and so on.

Each branch has a specific name defining the concept presented in that branch. The README files in these branches describe the Angular concept and include a challenge to solidify understanding.

Finally, branches containing the solution to the challenges have the -solved suffix.

For example, the first concept is found in the branch 01.01-single-component, and its solution is in 01.01-single-component-solved.

API

The workshop requires a backend to provide data to the frontend application. A Node.js backend is provided in the api directory. The API uses in-memory data storage, so data is reset each time the backend restarts.

To run the API independently, follow these steps:

  1. cd api
  2. npm i
  3. npm start:dev

Alternatively, if you run the npm start script, the API will start concurrently with the Angular web application.

Branches

The available branches are as follows:

Branch Name Concept
main Initial branch
01.01-single-component Component creation
01.01-single-component-solved
02.01-communication-input Component communication (input)
02.01-communication-input-solved
02.02-communication-output Component communication (output)
02.02-communication-output-solved
02.03-communication-control-flow Component communication (control-flow)
02.03-communication-control-flow-solved
03.01-form-new Reactive forms
03.01-form-new-solved
03.02-form-new-error Error handling in reactive forms
03.02-form-new-error-solved
03.03-form-new-control-flow Reactive form optimization
03.03-form-new-control-flow-solved
04.01-services Service creation
04.01-services-solved
05.01-tailwind Tailwind integration
05.01-tailwind-solved
06.01-router Introduction to the router
06.01-router-solved
06.02-router-params Router: Passing parameters
06.02-router-params-solved
07.01-http-client-fake-server Backend
07.01-http-client-fake-server-solved
07.02-http-client-rxjs HttpClient using RxJS
07.02-http-client-rxjs-solved
07.03-http-client-subject HttpClient using Subject and BehaviourSubject (RxJS)
07.03-http-client-subject-solved
07.04-http-client-signals HttpClient using Signals
07.04-http-client-signals-solved
07.05-http-client-rxresource HttpClient using RxResource
07.05-http-client-rxresource-solved
08.01-features Architecture in Features instead of ngModules
08.01-features-solved
08.02-login-register Login/Register pages
08.02-login-register-solved
08.03-guards Guard creation
08.03-guards-solved
08.04-interceptors Interceptors (Token and Loader)
08.04-interceptors-solved

About

Angular renaissance workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published