Curated list of awesome lists
Awesome Angular
Awesome list of Angular seed repos, starters, boilerplates, examples, tutorials, components, modules, videos, and anything else in the Angular ecosystem. View as github page..
If you're looking for AngularJS (version 1.x.x) please visit https://github.com/gianarb/awesome-angularjs
Current Angular version:
Table of contents:
Angular
Angular is a development platform for building mobile and desktop web applications.
Official Resources
Angular Team on twitter
List of Angular experts you should follow on Twitter (in no particular order). This list is by no means complete.
Server-Side Rendering
Material Design
-
Official Angular Material Design (GitHub)
-
md2 Angular2 based Material Design components, directives and services are Accordion, Autocomplete, Collapse, Colorpicker, Datepicker, Dialog(Modal), Menu, Multiselect, Select, Switch, Tabs, Tags(Chips), Toast and Tooltip.
-
ng2-material set of material2 examples and extra components (data table, dialog, ...) built on top of @angular2-material/core.
-
angular2-mdl Angular 2 components, directives and styles based on Material Design Lite.
-
mdl-ext Material Design Lite Ext (carousel, grid, lightbox, selectfield, sticky header, ...).
-
ng2-materialize An Angular 2 wrap around Materialize library.
-
Material Light Light, fast and easy to use Material Design components for Angular 2+ (Especially for mobile UI). There are several alternatives but this one has added value and advantages in my opinion (Take a loot at the Readme.md for details). There is also an online demo to see it in action. (API documentation is still lacking but in process).
-
Blox Material A lightweight Material Design library for Angular, based upon Google's Material Components for the Web.
-
Material Web Components Material Web Components for Angular. A faithful and accurate representation of Material Design as envisioned on the web.
-
MDBootstrap Built with Angular 7, Bootstrap 4 and TypeScript powerful UI KIT providing a set of slick, responsive page templates, layouts, components and widgets to rapidly build responsive, mobile-first websites and apps.
Cheatsheet
Features
Directives
Directives allow you to attach behavior to elements in the DOM.
Components
A component is a directive which uses shadow DOM to create encapsulate visual behavior. Components are typically used to create UI widgets or to break up the application into smaller components.
View
A View is a core primitive used by angular to render the DOM tree.
Templates
Templates are markup which is added to HTML to declaratively describe how the application model should be
projected to DOM as well as which DOM events should invoke which methods on the controller.
Change detection
Every component gets a change detector responsible for checking the bindings defined in its template.
Dependency Injection
Angular 1.x has two APIs for injecting dependencies into a directive. Angular 2 unifies the two APIs, making the code easier to understand and test.
Pipes
Pipes can be appended on the end of the expressions to translate the value to a different format.
Web Workers
WebWorker support in Angular is designed to make it easy to leverage parallelization in your web application.
When you choose to run your application in a WebWorker angular runs both your application's logic and the
majority of the core angular framework in a WebWorker.
HTTP
The HttpClient offers a simplified client HTTP API for Angular applications that rests on the XMLHttpRequest interface exposed by browsers. Additional benefits of HttpClient include testability features, typed request and response objects, request and response interception, Observable apis, and streamlined error handling.
Router
Test
Ahead-of-Time Compilation
Angular CLI
Webpack
Series
- Ionic
- Auth0
- thoughtram
- Angular Template Syntax Demystified
-
letsboot.com
- Test Driven Development
- Angular and Firebase
Video Tutorials
Style Guides
Angular Connect
Books
On-Site Training
Approach and Explanation
-
Victor Savkin
-
thoughtram
-
Hristo Georgiev
-
Helgevold Consulting
-
Burak Tasci (fulls1z3)
Integrations
Decorators
-
segal-decorators Bunch of useful decorators for the web!
-
ng-portal Component property connection in Angular application.
-
ng-lock Angular decorator for lock a function and user interface while a task running.
Site Templates
Pipes
Generators
- Node.js
- Slush
- Yeoman
- ngX-Rocket: Extensible Angular 4+ enterprise-grade generator and tools
- Dart
- Scaffold
-
ScaffoldHub.io: Generate full Angular Material applications with MongoDB, SQL or Firebase Firestore databases.
-
Storybook : "The UI development environment you'll love to use"
-
Compodoc : "The missing documentation tool for your Angular 2 application", integrate well with npm scripts
-
NgModule-Viz : Visualize the dependencies between the NgModules in your Angular 2+ application.
-
ng-app-counter : Count the number of Modules, Lazy Modules, Pipes, Providers, Directives, Components used in an Angular application.
-
Angular State Inspector - Helps you debug Angular component state. Supports Angular 1/2+/Ivy.
-
Augury - Browser extension for debugging and profiling Angular applications.
-
CodeSandbox - An online IDE and prototyping tool for rapid Angular development.
-
Bugfender - A cloud service to collect logs and Angular errors in Real-Time.
-
Angular Dev Tools - Angular DevTools is a Chrome extension that provides debugging and profiling capabilities for Angular applications.
-
Scuri Code - A VS Code extention that will generate and maintain seeds for your unit tests.
TodoMVC
Schematics
-
Cypress: Add Cypress to an Angular CLI application
-
Jest: Configure Angular to execute unit tests with Jest instead of Karma + Jasmine
-
Prettier: Add Prettier and a pre-commit hook for formatting staged files in an Angular application
-
Tailwind CSS: Add Tailwind CSS to an Angular application
-
Threejs: New three.js starter app
Third Party Components
Animations
-
lottie-angular2 - Render After Effects animations on Angular2 based on Bodymovin.
-
ng-animate - 🌙 A collection of cool, reusable and flexible animations for Angular
-
ngx-interactive-paycard - Interactive payment card library with smooth animations
-
ng-particles - A component to easily add Particles animations to your Angular application
Auth Components
-
casl-angular - Module which integrates isomorphic permissions management library CASL with Angular2+
-
ng2-permission - Fully featured permission based access control for your angular 4+ applications. This module inspired from
angular-permission
.
-
ngx-auth-firebaseui - Angular Material UI component for
firebase
authentication
-
ngx-auth -Authentication utility for Angular by @fulls1z3
-
ngx-permissions - Permission and roles based access control for your angular(angular 2, angular 4,5+) applications(AOT, lazy modules compatible)
Backend Components
-
Cloudinary - Angular2 SDK for image and video management in the cloud
-
ng-s-resource - Simplify RESTful http resource generator for Angular 4+.
-
ngx-restangular - Restangular for Angular 2 and higher versions.
Calendars
-
angular-calendar - A flexible calendar component for angular 6.0+ that can display events on a month, week or day view.
-
ng-data-picker - 🏄🏼 A data picker based on Angular 4+ (like iOS native datetime picker)
-
ng-fullcalendar Fullcalendar module for Angular
Charts
-
@ctrl/ngx-chartjs - Functional Chart.js wrapper for Angular
-
dl-chart - Simple and lightweight Chart library without extern Dependencies
-
ng2-charts Beautiful charts for Angular2 based on Chart.js
-
ngx-charts - Declarative Charting Framework for Angular2 and beyond!
-
ngx-f2 - Angular2+ wrapper for antv f2 mobile oriented charts
-
ngx-trend - 📈 Simple, elegant spark lines for Angular
Drag/Drop
-
angular2-grid A drag/drop/resize grid-based plugin directive for angular2.
-
ng2-dragula Drag and Drop so simple it hurts!
Editor Components
File Upload
-
@ctrl/ngx-droppable - Give file dropping ability to any element or component
-
file-droppa Simple files drop and upload component with files list
-
ng2-file-upload Easy to use file upload directives
-
ngx-awesome-uploader Angular Library for uploading files. It supports: File Upload and Preview (additionally preview images with lightbox), validation, image cropper , drag and drop with multi language support.
-
ngx-dropzone - Highly customizable component to handle file drops and selection.
-
ngx-flow - Angular7+ wrapper for flow.js for file upload
Icons
Keyboard Mouse
-
@ctrl/ngx-rightclick - Context Menu Service for Angular
-
angular-clickable-click - Sets pointer cursor on elements using standard
(click)
output and allows to disable such events
-
angular-esc - Adds
(esc)
output fired by the Escape key
-
ngx-konami - Simple directive to add easter eggs in Angular 2+ applications
-
ngx-focus-control - Library to provide tools to work with focus and focusable elements to improve user interfaces and accessibility
Layout Components
-
@robingenz/ngx-infinite-scroll Simple Angular directive for infinite scrolling.
-
angular-fullpage Official component for fullPage.js, a fullscreen scrolling library.
-
angular-split Angular split component
-
angular2-infinite-scroll - An Infinite Scroll Directive for Angular2 (based on Observables)
-
egjs-infinitegrid - Arrange infinite card elements according to various layout types like masonry for Angular.
-
ng2-card - Card view component for Angular2
-
ng2-fullpage Fullpage scrolling for Angular2 based on fullPage.js
-
ng2-sheet Angular2 Components to add yours components inside a sheet window and repeatedly
-
ng2-swipeable-card - Swipeable card component for Angular2
-
ngx-scrolltop - Lightweight, Material Design inspired button for scroll-to-top of the page. 🔼 No dependencies. Pure Angular! (Compatibility: Angular 9, Ivy, Universal,
ng add
)
-
od-virtualscroll Observable-based virtual scroll implementation in Angular
Loaders
Maps
Notifications
State Management
-
angular2-query-builder Modernized query builder based on jquery QueryBuilder
-
angular2-jwt Library for sending authenticated HTTP requests and decoding JWTs
-
angular2-cookie Library that implements Angular 1.x $cookies service in Angular 2
-
angular-safeguard Wrapper around cookies/sessionStorage/localStorage for angular2. If all are unavailable will use an in memory storage.
-
ng2-storage A localStorage and sessionStorage wrapper written using ES6 Proxies for Angular 2
-
ngx-store - Complex library for managing
localStorage
, sessionStorage
and cookies, allows to watch data changes, provides decorators and API based on builder pattern
-
ngx-liquid-cache - A powerful, automatic and optimized Angular 2 cache system that fits everywhere!
-
ng-http-cache - Speed up your remote requests by automatically caching them on client.
-
ngx-cache - Cache utility for Angular (incl. browser & server platform implementations) by @fulls1z3
-
universal-model-angular - Store and state management for Angular
-
ng-http-caching - Cache for HTTP requests in Angular application.
-
akita - A Reactive State Management Tailored-Made for JS Applications
-
ng-simple-state - Simple state management in Angular with only Services and RxJS.
-
exome - Simple proxy based state manager for deeply nested states, works with Angular Signals and RxJS.
Tables
-
ag-grid Advanced Datagrid for Pure Javascript / AngularJS 1.x / AngularJS 2 / Web Components
-
ng2-handsontable Excel-like data grid / spreadsheet
-
ng2-smart-table Smart data table library with sorting, filtering, pagination & add/edit/delete functions.
-
ng2-table Simple table extension with sorting, filtering, paging... for Angular2 apps
-
ngfb-sortable-table - Angular Firebase Sortable Table. Ability to filter and sort data with own firebase quering tools.
-
ngx-datatable A feature-rich yet lightweight data-table crafted for Angular2 and beyond!
-
ignite-ui-angular's grid - The data grid, tree grid, hierarchical grid in Ignite UI for Angular provide excel-style filtering, live-data, sorting, draggable row and other toolbar.
UI Libraries
General
-
@ngx-kit/sula - Set of themed components for Angular.
-
Axponents: of Accessible Web Components (Dylan Barrell)
-
Dev Extreme - Feature-Complete 65+ Angular Component Suite
-
Element Angular - Element Design components built on top of Angular 2
-
Essential JS 2 for Angular by Syncfusion - Over 60 high-performance, lightweight, modular, and responsive UI components for Angular.
-
ExtAngular - Sencha ExtAngular Pre-built UI Components
-
Nebular - set of essential (Theme, UI Kit, Auth, Security) modules for complex Angular applications
-
NG ZORRO MOBILE - An enterprise-class mobile UI components based on Ant Design Mobile and Angular.
-
NG ZORRO - An enterprise-class UI components based on Ant Design and Angular.
-
ng-lightning Native Angular 2 components & directives for Lightning Design System
-
ng-metro4 - Angular implementation of UI framework Metro4
-
ng-sq-ui - Simple Quality UI kit for Angular. Build by developers for developers!
-
ngSemantic - UI components based on Semantic UI
-
ngx-qrcode2 - An Angular 4+ Component library for Generating QR (Quick Response ) Codes
-
ngx-ui - Style and Component Library for Angular2 and beyond!
-
prime-ng Collection of rich UI components for Angular 2
-
vmware clarity - Mostly a CSS only framework but some components are ported to Angular 2
-
Wijmo 5 - Set of UI components for Angular2
-
Taiga UI - powerful set of open source components for Angular!
-
NgLazyLoadComponent . Lazy load Angular component into HTML template without routing.
Material Based
Bootstrap Based
-
@firebaseui/ng-bootstrap - Angular Bootstrap UI library for
firebase
authentication
powered by @ng-bootstrap
-
angular-bootstrap-md Material Design for Bootstrap 4 (Angular)
-
fuel-ui Bootstrap 4 components and directives for use in Angular 2
-
ng-bootstrap - Angular 4 directives for Bootstrap 4 by the ui-bootstrap team
-
ng2-bootstrap Native Angular2 Bootstrap 3&4 components
-
ng2-bs Experiments with Angular 2 directives for Bootstrap.
-
ng2-modal Modal window for angular2 and bootstrap 3
-
ng2-paginator Pagination control for angular2 and bootstrap 3
-
ng2-tabs Tabs control for angular2 and bootstrap 3
Tailwind CSS Based
-
Flowbite - Open-source UI components built with Tailwind CSS with support for Angular.
UX Components
Viewers
Misc Components
-
@ngx-context - Angular Context: Easy property binding for router outlet and nested component trees..
-
Angular SizeObserver - style DOM elements based on their display size (rather than browser screen size).
-
angular2-simple-countdown - a simple countdown angular2 directive with multiple language
-
ng-chat - A simple facebook/linkedin lookalike chat module for Angular applications
-
ng-google-sheets-db :rocket: Use Google Sheets as your (read-only) backend!
-
ng-katex Angular module to write beautiful math expressions with TeX syntax boosted by KaTeX library
-
ng-wormhole - Render components somewhere else in the DOM
-
ng2-adsense - Easy AdSense for Angular Applications
-
ngx-avatar - Avatar component that makes it possible to genearte / fetch avatar based on the information you have about the user.
-
ngx-cdmon - Library for monitoring Angular change detection performance.
-
ngx-countdown - Simple, easy and performance countdown for angular
-
@ngneat/transloco - 🚀 😍 The internationalization (i18n) library for Angular
-
ngx-i18n-router - Route internationalization utility for Angular by @fulls1z3
-
ngx-linkifyjs - Angular V6 wrapper for linkifyjs - library for finding links in plain text and converting them to HTML tags via linkifyjs
-
ngx-meta - Dynamic page title & meta tags utility for Angular (w/server-side rendering) by @fulls1z3
-
ngx-wheel - Angular prize winning wheel component!
-
@tolgee/ngx - Web-based localization tool enabling users to translate directly in the Angular app they develop.
-
xng-breadcrumb - Zero config breadcrumb solutuon. A lightweight, configurable and reactive breadcrumbs for Angular 6 and beyond.
-
ng-let - Structural directive for sharing data as local variable into html component template.
-
ng-for-track-by-property - Angular global trackBy property directive with strict type checking.
-
ngx-observers - Ngx observers is library to allow developer use Resize, Mutation and Intersection observer api like normal output events on some element.
JAM Stack
-
scully - Scully is a static site generator for Angular projects looking to embrace the Jamstack.
Universal Angular 2
Universal (isomorphic) javascript support for Angular 2
Universal Courses And Tutorials
Universal General Resources
Universal Seed Projects
-
universal-starter - Angular 2 Universal starter kit by @Angular-Class
-
ng-seed/universal - Seed project for Angular Universal apps featuring Server-Side Rendering (SSR), Webpack, dev/prod modes, DLLs, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer by @fulls1z3
-
angular-universal - Fast, Unopinionated, Minimalist starter kit for Angular Universal 100% powered by Angular CLI
-
angular-universal-heroku-starter - Angular 7 Universal Starter Kit with Server-Side Rendering (SSR) and easy deployment to Heroku
Angular 2 in TypeScript
TypeScript lets you write JavaScript the way you really want to.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
TypeScript General Resources
TypeScript Seed Projects
-
Angular Seed Seed project for Angular apps
-
ng2-play A minimal Angular2 playground using TypeScript and SystemJS loader
-
Angular Lab A simple Angular 2+ setup using Angular CLI, TypeScript, Angular Flex Layout, Material 2, AOT, and unit and e2e tests on Travis CI and Saucelabs.
-
Angular 2 Samples Angular 2.0 sample components
-
Todo app with Firebase, OAuth, and Immutable
-
Spring Boot and Angular2 tutorial Angular2 practical example based on Rails tutorial.
-
Angular 2 Goldilocks seed - A seed project for Angular 2 and TypeScript that is not too simple, yet not too complex. In fact it's just right!
-
Angular 2 Starter - Simple Angular 2 Starter with Gulp workflow and Travis CI
-
Angular 2 Leaflet Starter - A map application starter based on Angular 2 and Leaflet
-
Angular 2 MapboxGL Starter - Another map application starter based on Angular 2 and MapboxGL JS
-
Angular 2 reconnecting websockets quickstart - Simple counter using 2-way or 1-way reconnecting websockets communication
-
ng2-start - Minimal setup to start creating an angular2 application
-
ng-kitchen-sink - The ultimate Angular 2 bootstrap single page app - touches on all key and advanced aspects of Angular
-
ng-skeleton - The ultimate Angular seed with ngrx, bootstrap and two factor auth
-
angular2-demo Minimal Angular2 Demo using TypeScript / Sass / Npm Tasks
-
Angular 2 Dashboard Starter - Ready to use dashboard control panel seed project based on Angular 2 and AdminLTE bootstrap theme.
-
ngx-admin - Admin template based on Nebular framework (Angular 4+, Bootstrap 4+)
-
Angular 2 full code coverage - Solid tested SystemJS and gulp workflow ready for your code using Angular2 final release (2.1.0) .. Demonstrates unit
and full code coverage
-
Angular 2 webpack - Tour of Heroes official typescript tutorial built with webpack
-
ng2-boiler - A bare-bones simple starter with Angular2, TypeScript and Webpack configured.
-
Angular Webpack Starter - Angular Webpack Starter with AoT compilation, Lazy-loading, and Tree-shaking
-
Reaper - Angular 2 Webpack Starter Boilerplate w/o 2269 dependencies
-
famn - Angular 2 + FeathersJS application framework for both client and server side
-
Angular NPM Module Seed - Starting point for developing Angular modules and publishing them on NPM.
-
Angular2 D3v4 Seed - Angular2 D3v4 implementation of charts, graphs, area and view porting seed project
-
ng-seed/spa - Seed project for Angular apps featuring Webpack, dev/prod modes, DLLs, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer by @fulls1z3
-
Reboard - Angular 4 + Material 2 starter dashboard with ngx-charts, based on generator-ngx-rocket (Typescript, SASS, Webpack, Jasmine+Karma, Protractor, TSLint, Codelyzer, Stylelint, ngx-translate, Lodash, Angular Flex-Layout)
-
Angular5 + Redux + Graphql + MySQL quickstart - Simple Fullstack GraphQL Application with Angular CLI + Redux + Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL).
-
Angular5 + Firebase + Structure - Angular 5 + Firebase + a very good router/module structure to make it your own so easy
-
angular-app-example - Angular latest + material + sass themes + more beautiful features, a dashboard app example
-
NG-MATERO - This Ng-Matero is an Angular admin templete made with Material componnets.
-
TinkoffCreditSystems/angular-open-source-starter - a starter project for creating open-source libraries for Angular
-
truonghungit/angular-starter - 😍 A complete Angular 10, NgRx, Angular CLI & Angular Material starter project
-
Eoapi - A lightweight, extensible API tool based on Angular and Electron
-
{{ add_your_repo }}
Ionic 2 in Angular 2
Ionic is the beautiful, open source front-end SDK for developing hybrid mobile apps with web technologies.
Ionic 2 General Resources
Angular 2 in Cordova
Apache Cordova is a popular mobile application development framework using CSS3, HTML5, and JavaScript instead of relying on platform-specific APIs.
Cordova Seed Projects
Angular 2 in Dart
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Dart General Resources
-
Dart Official Website for Dart.
-
Dartpad Dartpad lets play with Dart on-line, in a zero-install, zero configuration environment.
-
Dart Organization (GitHub) Official GitHub Organization for Dart
-
Pub Repository of packages of software for the Dart programming language.
-
Dartisans The Official Dart Google+ community.
-
Dart Slack Channel The Official Dart Slack channel.
Dart Seed Projects
Dart Demo, Samples, and Examples
Angular 2 in Traceur
Traceur is a JavaScript.next-to-JavaScript-of-today compiler.
Traceur General Resources
Traceur Seed Projects
Angular 2 in Babel
The compiler for writing next generation JavaScript.
Babel General Resources
Babel Angular 2 Online Playground
Babel Seed Projects
Babel Demo, Samples, and Examples
Babel Plugins
Angular 2 in ES5
An ECMAScript language that includes structured, dynamic, functional, and prototype-based features.
ES5 General Resources
ES5 Seed Projects
angular2-es5-starter-kit Angular2 ES5 Starter Kit
Meteor in Angular 2
Build Realtime Web and Mobile Apps With Angular and Meteor.
Meteor General Resources
Meteor Seed Projects
Angular 2 in NativeScript
Build truly native iOS, Android and Windows Phone apps with Javascript and CSS. Try NativeScript open-source framework for cross-platform development.
NativeScript General Resources
NativeScript Seed Projects
Angular 2 in React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript.
React Native General Resources
React Native Projects
React Native Seed Projects
Angular 2 in Haxe
Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. General purpose language, with Haxe, you can easily build cross-platform tools targeting all the mainstream platforms natively. "Write once compile anywhere", with strong easily extendable macro system and powerfull, highly optimizing compiler with DCE (and f.e. using inline constructors). Can be used for server side rendering and in isomorphic way - possible to share the same source code compiling into client side in javascript and server side in pyhton (or java/php/node - can be choosen later/changed at scaling). Haxe code can contain (inline) any target language fragments (can be used to step by step porting), the externs mechanism provides access to the native APIs and libraries in a type-safe manner.
Server, client, mobile (Android and iOS at once), desktop, embedded (Raspbery, award winning TIVO set top boxes), Playstation ... all can be reached natively with much less typing, more error-proof, more stable and compile-time type checked code even for non type-safe targets (f.e. JavaScript, PHP)!
Haxe General Resources
Haxe Seed Projects
Angular 2 in Scala
General purpose language; multiparadigm (object-oriented, functional, concurrent elements); statically typed, type-safe; focus: Web services.
Scala General Resources
Scala Seed Projects
Angular 2 components with Bit
Bit is an open source virtual repository (code base) built to make components easily manageable and usable across applications. You can quickly export any Angular component from any context while working on any project to a bit distributed Scope. Bit's reusbale component environment cuts the overhead of configuring build and test environments for exporting every new component. The Scope is a virtual component repository which stores, organizes, manages and tests your components. Once modeled on a Scope, your components can be easily found and used in any Angular application. Components can be organized together and still modified and used individually without pulling in entire libraries.
Bit Resources
Security
NgRx
enjoy — PatrickJS
License