Skip to content

πŸ“„ A curated list of awesome Angular resources

License

Notifications You must be signed in to change notification settings

StartupFlow/awesome-angular

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Angular

Awesome Angular Awesome Build Status

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:

npm version

Current Browser support for Angular:

Sauce Test Status

Table of contents:

Angular

Angular is a development platform for building mobile and desktop web applications.

Official Resources

Community

Angular Team on twitter

Experts 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 (carusel, 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

Video Tutorials

Style Guides

Angular Connect

Books

On-Site Training

Approach and Explanation

Integrations

Third Party Components

  • Material 2 - Angular team's Material Design components built on top of Angular 2 GitHub stars GitHub last commit GitHub commit activity the past week, 4 weeks, year
  • Essential JS 2 for Angular by Syncfusion - Over 60 high-performance, lightweight, modular, and responsive UI components for Angular.
  • NG ZORRO - An enterprise-class UI components based on Ant Design and Angular.
  • NG ZORRO MOBILE - An enterprise-class mobile UI components based on Ant Design Mobile and Angular.
  • Element Angular - Element Design components built on top of Angular 2
  • Axponents: of Accessible Web Components (Dylan Barrell)
  • angular-epic-spinners Reusable spinner components for angular
  • ng2-bootstrap Native Angular2 Bootstrap 3&4 components
  • ng2-charts Beautiful charts for Angular2 based on Chart.js
  • ng2-dragula Drag and Drop so simple it hurts!
  • ng2-file-upload Easy to use file upload directives
  • ng2-handsontable Excel-like data grid / spreadsheet
  • ng2-markdown Angular2 Markdown Web Component
  • ng2-select Angular2 based replacement for select boxes
  • ng2-safe-img Very tiny and safe img for Angular 2
  • ng2-table Simple table extension with sorting, filtering, paging... for Angular2 apps
  • ng2-smart-table Smart data table library with sorting, filtering, pagination & add/edit/delete functions.
  • ng2-bs Experiments with Angular 2 directives for Bootstrap.
  • 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.
  • ng-lightning Native Angular 2 components & directives for Lightning Design System
  • ag-grid Advanced Datagrid for Pure Javascript / AngularJS 1.x / AngularJS 2 / Web Components
  • angular-jqwidgets Advanced Angular Components with Material Design.
  • angular2-query-builder Modernized query builder based on jquery QueryBuilder
  • angular2-grid A drag/drop/resize grid-based plugin directive for angular2.
  • angular2-jwt Library for sending authenticated HTTP requests and decoding JWTs
  • angular2-cookie Library that implements Angular 1.x $cookies service in Angular 2
  • angular2-fontawesome Angular2 Components and Directives for Fontawesome
  • angular-safeguard Wrapper around cookies/sessionStorage/localStorage for angular2. If all are unavailable will use an in memory storage.
  • angular2-google-maps Angular2 directives for Google Maps
  • angular-cesium Creating map based web apps using Cesium and Angular
  • ng2-radio-group Angular2 directives for radio and checkbox inputs and radio input groups
  • ng2-dropdown Dropdown menu for angular2 and bootstrap 3
  • angular2-multiselect-dropdown Angular 2 multiselect dropdown component for web applications
  • ng2-progress-bar Simple progress bar for angular2 and bootstrap 3
  • ng2-tabs Tabs control for angular2 and bootstrap 3
  • ng2-modal Modal window for angular2 and bootstrap 3
  • ng2-sheet Angular2 Components to add yours components inside a sheet window and repeatedly
  • ng2-paginator Pagination control for angular2 and bootstrap 3
  • fuel-ui Bootstrap 4 components and directives for use in Angular 2
  • prime-ng Collection of rich UI components for Angular 2
  • ng2-ace Ace editor directive made for Angular 2
  • ng2-storage A localStorage and sessionStorage wrapper written using ES6 Proxies for Angular 2
  • ng2-fontawesome A small directive making font awesome even easier to use.
  • ng2-sweetalert2 A wrapper for sweetalert2 for use with Angular 2.
  • angular2-text-mask Angular 2 input mask directive
  • angular-imask Angular 4+ input mask
  • angular-fullpage Official component for fullPage.js, a fullscreen scrolling library.
  • ng2-fullpage Fullpage scrolling for Angular2 based on fullPage.js
  • file-droppa Simple files drop and upload component with files list
  • ngx-img-fallback Load placeholder image on image error
  • angular2-busy Show busy/loading indicators on any promise, or on any Observable's subscription
  • ng2-pdf-viewer PDF viewer component
  • Covalent - a UI platform built on Angular 2.0 + Material Design
  • angular2-infinite-scroll - An Infinite Scroll Directive for Angular2 (based on Observables)
  • ng2-card - Card view component for Angular2
  • Wijmo 5 - Set of UI components for Angular2
  • ng2-swipeable-card - Swipeable card component for Angular2
  • ngSemantic - UI components based on Semantic UI
  • vmware clarity - Mostly a CSS only framework but some components are ported to Angular 2
  • Teradata covalent - UI Platform built on @angular/material 2.0
  • ng2-quill-editor - Quill editor component for Angular2
  • ngx-charts - Declarative Charting Framework for Angular2 and beyond!
  • ngx-datatable A feature-rich yet lightweight data-table crafted for Angular2 and beyond!
  • ngx-ui - Style and Component Library for Angular2 and beyond!
  • Cloudinary - Angular2 SDK for image and video management in the cloud
  • angular2-simple-countdown - a simple countdown angular2 directive with multiple language
  • ngx-countdown - Simple, easy and performance countdown for angular
  • ng-http-cache - Speed up your remote requests by automatically caching them on client.
  • ng-animate - πŸŒ™ A collection of cool, reusable and flexible animations for Angular
  • lottie-angular2 - Render After Effects animations on Angular2 based on Bodymovin.
  • ngx-restangular - Restangular for Angular 2 and higher versions.
  • ngfb-sortable-table - Angular Firebase Sortable Table. Ability to filter and sort data with own firebase quering tools.
  • angular-split Angular split component
  • od-virtualscroll Observable-based virtual scroll implementation in Angular
  • angular2-froala-wysiwyg Angular 2 wrapper for Froala WYSIWYG HTML Editor
  • ngx-meta - Dynamic page title & meta tags utility for Angular (w/server-side rendering) by @fulls1z3
  • ngx-config - Configuration utility for Angular (incl. Angular Universal loader) by @fulls1z3
  • ngx-cache - Cache utility for Angular (incl. browser & server platform implementations) by @fulls1z3
  • ngx-i18n-router - Route internationalization utility for Angular by @fulls1z3
  • ngx-auth -Authentication utility for Angular by @fulls1z3
  • angular2-promise-buttons - Loading buttons for Angular 2 by @johannesjo
  • ng2-archwizard - Wizard component for Angular 2
  • ngx-popper - Tooltip managment, wrapper for popper.js(https://popper.js.org/)
  • ngx-avatar - Avatar component that makes it possible to genearte / fetch avatar based on the information you have about the user.
  • ngx-qrcode2 - An Angular 4+ Component library for Generating QR (Quick Response ) Codes
  • ng2-permission - Fully featured permission based access control for your angular 4+ applications. This module inspired from angular-permission.
  • casl-angular - Module which integrates isomorphic permissions management library CASL with Angular2+
  • ng-s-resource - Simplify RESTful http resource generator for Angular 4+.
  • ng-data-picker - πŸ„πŸΌ A data picker based on Angular 4+ (like iOS native datetime picker)
  • ngx-siema - Lightweight and simple carousel with no dependencies.
  • ng-bootstrap - Angular 4 directives for Bootstrap 4 by the ui-bootstrap team
  • ng-snotify - Angular 4 Notification Center
  • ngx-permissions - Permission and roles based access control for your angular(angular 2, angular 4,5+) applications(AOT, lazy modules compatible)
  • Nebular - set of essential (Theme, UI Kit, Auth, Security) modules for complex Angular applications
  • ng-select Angular ng-select - All in One UI Select, Multiselect and Autocomplete
  • ngx-flexible-select - The most flexible and customized select
  • ng-katex Angular module to write beautiful math expressions with TeX syntax boosted by KaTeX library
  • ng-fullcalendar Fullcalendar module for Angular
  • angular-bootstrap-md Material Design for Bootstrap 4 (Angular)
  • ngx-konami - Simple directive to add easter eggs in Angular 2+ applications
  • ngx-mapbox-gl - Angular binding of mapbox-gl-js
  • ng-chat - A simple facebook/linkedin lookalike chat module for Angular applications
  • ngx-store - Complex library for managing localStorage, sessionStorage and cookies, allows to watch data changes, provides decorators and API based on builder pattern
  • angular-esc - Adds (esc) output fired by the Escape key
  • angular-clickable-click - Sets pointer cursor on elements using standard (click) output and allows to disable such events
  • ngx-credit-cards - A Credit Card Directives and Form Validators package for Angular X (4+).
  • angular-calendar
  • ng-fveh - Form Validations Errors Helper - Some helpers to help you with form validation :)
  • ng-wormhole - Render components somewhere else in the DOM
  • dl-chart - Simple and lightweight Chart library without extern Dependencies
  • isLoading? service - A simple and flexible loading indicator service for Angular apps.
  • ngu-carousel - Angular Universal carousel.
  • ngx-progressbar - Nanoscopic progress bar, featuring realistic trickle animations.
  • ngx-recursive-form - Angular recursive form at any level based on your json input.
  • @ngx-kit/sula - Set of themed components for Angular.
  • ngx-auth-firebaseui - Angular Material UI component for firebase authentication
  • @firebaseui/ng-bootstrap - Angular Bootstrap UI library for firebase authentication powered by @ng-bootstrap
  • ngx-linkifyjs - Angular V6 wrapper for linkifyjs - library for finding links in plain text and converting them to HTML tags via linkifyjs
  • @angular-material-extensions/password-strength - Angular UI library to illustrate and validate a password's strength with material design
  • @angular-material-extensions/google-maps-autocomplete - Autocomplete input component and directive for google-maps built with angular material design
  • @angular-material-extensions/pages - Open source library for angular apps to illustrate custom material pages content with steps (ideal for tutorials and explanations purposes)
  • @angular-material-extensions/contacts - Angular Library to manage contacts and users with a material design
  • @angular-material-extensions/faq - Angular Library built with material design in order to provide a reusable faq (frequently asked questions) component for every project. Ask, Answer and List
  • @angular-material-extensions/links-preview - Angular open source UI library to preview web links
  • ngx-app-tour - Angular2+ plugin for building a tour, showcase or a walkthrough for your app
  • ngx-f2 - Angular2+ wrapper for antv f2 mobile oriented charts
  • ngx-dropzone - Highly customizable component to handle file drops and selection.
  • ng-sq-ui - Simple Quality UI kit for Angular. Build by developers for developers! contributions welcome Maintainability
  • ngx-wheel - Angular prize winning wheel component!
  • ngx-flow - Angular7+ wrapper for flow.js for file upload
  • ngx-status-bar - Angular 7 bottom status bar with a message indicating default, warning, error or success
  • angular-shepherd - Angular 7 Service wrapping the site tour library Shepherd
  • ngx-cdmon - Library for monitoring Angular change detection performance.
  • ngx-toastr - Notifications/Toastr
  • ngx-color - 🎨 Color Pickers from Sketch, Photoshop, Chrome, Github, Twitter & more
  • ngx-trend - πŸ“ˆ Simple, elegant spark lines for Angular
  • ng2-adsense - Easy AdSense for Angular Applications
  • @ctrl/ngx-emoji-mart - Customizable Slack-like emoji picker for Angular
  • @ctrl/ngx-codemirror - Codemirror Wrapper for Angular
  • @ctrl/ngx-chartjs - Functional Chart.js wrapper for Angular
  • @ctrl/ngx-rightclick - Context Menu Service for Angular
  • @ctrl/ngx-droppable - Give file dropping ability to any element or component
  • @ngx-context - Angular Context: Easy property binding for router outlet and nested component trees..
  • @instechnologies/ng-rooster - Angular wrapper of roosterjs, a rich text editor
  • Angular SizeObserver - style DOM elements based on their display size (rather than browser screen size).

Decorators

Site Templates

Pipes

  • fuel-ui OrderBy and Range pipes ported from Angular 1.x to Angular 2
  • ngx-filter-pipe Pipe for filtering arrays
  • ngx-pipes Bunch of useful pipes for Angular and beyond!
  • ngx-order-pipe OrderBy pipe for Angular4+ - sort collection by a field
  • angular2-camelcase Angular2 pipe to convert camelCase strings to human readable strings Edit

Generators

Documentation tools

  • 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

  • AngularDoc : Website that display "Architectural analysis and visualization for Angular 2 projects", integrate only with a github repository

  • 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.

Developer tools

  • Augury - Browser extension for debugging and profiling Angular applications.

TodoMVC


Universal Angular 2

Universal (isomorphic) javascript support for Angular 2

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


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

CC0

About

πŸ“„ A curated list of awesome Angular resources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 74.9%
  • CSS 23.1%
  • Shell 2.0%