{"id":23853895,"url":"https://github.com/lukaofirst/learning-angular","last_synced_at":"2025-11-12T02:35:00.063Z","repository":{"id":170614188,"uuid":"561399684","full_name":"lukaofirst/learning-angular","owner":"lukaofirst","description":"This repository contains my practices and lessons with Angular","archived":false,"fork":false,"pushed_at":"2022-12-12T17:27:19.000Z","size":1121,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T23:36:06.401Z","etag":null,"topics":["angular","angular2","javascript","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukaofirst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-03T15:54:52.000Z","updated_at":"2023-04-23T01:37:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"349426fd-ee5f-4b1e-ae8a-a773a23e55fb","html_url":"https://github.com/lukaofirst/learning-angular","commit_stats":null,"previous_names":["lukaofirst/learning-angular"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaofirst%2Flearning-angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaofirst%2Flearning-angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaofirst%2Flearning-angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaofirst%2Flearning-angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukaofirst","download_url":"https://codeload.github.com/lukaofirst/learning-angular/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240143832,"owners_count":19754796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular2","javascript","typescript"],"created_at":"2025-01-02T23:34:20.602Z","updated_at":"2025-11-12T02:34:55.040Z","avatar_url":"https://github.com/lukaofirst.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003eLearning Angular\u003c/h2\u003e\n\n\u003ch4\u003eMain Topics Learned\u003c/h4\u003e\n\n-   How an Angular App gets Loaded and Started\n-   Creating a Component\n    -   understanding the \u003ccode\u003e@Component\u003c/code\u003e decorator\n    -   adding component \"manually\" and using the CLI\n-   Databinding\n    -   String Interpolation\n    -   Property Binding\n    -   Listening to User Events\n    -   Two-Way-Binding\n    -   Binding to Custom Properties using the \u003ccode\u003e@Input()\u003c/code\u003e decorator (Parent-Child Communication)\n    -   Binding to Custom Events using the \u003ccode\u003e@Output\u003c/code\u003e decorator + \u003ccode\u003eEventEmitter()\u003c/code\u003e (Child-Parent Communication)\n    -   Accessing the DOM using the Template Variables \u003ccode\u003e#templateVariable\u003c/code\u003e and \u003ccode\u003e@ViewChild()\u003c/code\u003e decorator\n    -   Projecting Content with \u003ccode\u003eng-content\u003c/code\u003e and accessing with \u003ccode\u003e@ContentChild()\u003c/code\u003e decorator\n-   Directives\n    -   Output Data Conditionally \u003ccode\u003e\\*ngIf\u003c/code\u003e\n    -   Styling Elements Conditionally \u003ccode\u003e[ngStyle] [ngClass]\u003c/code\u003e\n    -   Outputting Lists \u003ccode\u003e\\*ngFor\u003c/code\u003e\n    -   Creating a custom Directive\n    -   The usage of \u003ccode\u003e@HostListener()\u003c/code\u003e, \u003ccode\u003e@HostBinding()\u003c/code\u003e decorators\n    -   Understanding and building a Structural Directive\n-   Services\n    -   Creating and Injecting a Service into Components\n    -   Injecting Services into Services\n    -   Using Services for Cross-Component Communication\n-   Routes\n    -   Setting up Routes and Nested Routes\n    -   Navigating through Router Links\n    -   Styling route links using \u003ccode\u003erouterLinkActive\u003c/code\u003e\n    -   Navigating Programatically\n    -   Passing and Fetching Parameters, Query Parameters and Fragment to Routes\n    -   Adding a 404 Not Found Page and Redirect to a Route\n    -   Protecting Routes using \u003ccode\u003eCanActivate\u003c/code\u003e interface\n    -   Passing static data to a route\n    -   Passing dynamic data to a route using Resolve Guard\n-   Observables\n    -   Creating an Observable (processing data, error or complete)\n    -   The needed of unsubscribe custom observables\n    -   Operators (mid-layer between Observable-Observer to manipulate the output)\n    -   Subject (the \"new-way\" to handle \u003ccode\u003eEventEmitter()\u003c/code\u003e observable)\n-   Forms\n    -   Template-Driven Approach\n        -   Creating, registering and submitting form data\n        -   Adding validators (only native HTML form validation) and use them to output feedback messages\n        -   Deep dive into databinding (No Binding, One Binding and Two-Way Bind)\n        -   Grouping form controls\n        -   Setting/Patching form values\n    -   Reactive Approach\n        -   Creating, synching and submitting form data\n        -   Adding built-in Angular validators and output feedback messages\n        -   Grouping controls\n        -   Creating Custom Validators and Custom Async Validators\n        -   Observables of a reactive form\n        -   Setting/Patching form values\n-   Pipes\n    -   Using built-in pipes\n    -   Creating custom pipes\n    -   The filtering pipe's problem\n    -   Chaining multiple pipes\n-   Http Requests\n    -   Injecting and using types with \u003ccode\u003eHttpClient\u003c/code\u003e\n    -   Handling Errors\n    -   Making CRUD operations\n    -   Setting Headers and Query Params\n    -   Changing the default response\n    -   Interceptors\n-   Modules and Lazy Loading\n    -   Module's definition\n    -   Using Shared Module (Declaring Components, Directives and Pipes only once)\n    -   Lazy Loading\n    -   Preloading Lazy Loaded Code\n-   Standalone Components\n    -   What they are and what changes?\n    -   Building a Standalone Component\n    -   Services, Routing and Lazy Loading with Standalone Component\n\n\u003ch4\u003eNotes\u003ch4\u003e\n\n-   This repo was made following the course: [Angular - The Complete Guide](https://www.udemy.com/course/the-complete-guide-to-angular-2/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaofirst%2Flearning-angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaofirst%2Flearning-angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaofirst%2Flearning-angular/lists"}