Nebular Documentation

repository·master·Indexed 27 days ago

https://github.com/akveo/nebular

A customizable Angular UI library based on the Eva Design System. Nebular provides over 35 UI components, a powerful theming engine with 4 visual themes, and built-in authentication and security modules including @nebular/auth and @nebular/firebase-auth. It also supports Eva Icons with over 480 SVG icons.

Tokens
27.9K
Snippets
80
Records
149
Agent score
92%

What's inside Nebular

  1. Overview of the Nebular Auth Module

    master
    The Nebular Auth module provides a pluggable set of components and services to simplify the authentication layer in Angular applications. It decouples the UI (Login, Register, etc.) from the business logic using an authentication Strategies layer. Note that implementing the module still requires communication with your backend services.
  2. Overview of Nebular modules and features

    master

    Nebular is a customizable Angular UI Library based on Eva Design System specifications. It provides 40+ UI components, 4 visual themes, and specialized modules for Authentication and Security.

    Key modules include:

    • @nebular/theme: Provides the theming engine (supporting custom CSS properties), high-quality Angular components (no 3rd party dependencies), SSR compatibility, and RTL (Right-to-Left) support.
    • @nebular/auth: Provides authentication components (login, register, password reset) and configurable authentication Strategies (backend connectors), including token management helpers.
    • @nebular/firebase-auth: A specialized module for integrating Firebase authentication with @nebular/auth.
    • @nebular/security: Manages roles and permissions.
    • @nebular/moment & @nebular/date-fns: Modules that enable Nebular components to work with popular date libraries.

    Additionally, Akveo provides ngx-admin, an Angular application starter kit based on Nebular, and various Backend Bundles.

  3. Overview of @nebular/auth module

    master
    The @nebular/auth module provides a framework for managing authentication within Nebular applications. It allows developers to integrate various authentication strategies and manage user sessions. For detailed documentation, implementation guides, and specific API references, visit the official Nebular documentation site.
  4. Understand the Eva Design System Theme structure

    master

    In Nebular, a theme is a Sass map containing semantic variables and connections. It allows you to create new visual themes, change the application's look and feel by managing variables without modifying component styles, and switch themes at runtime.

    A theme is organized into five semantic groups:

    1. Colors: Semantic colors and transparency levels.
    2. Backgrounds & Borders: Background and border shades.
    3. Text Colors: Colors for different text contexts.
    4. Fonts & Text Styles: Font families and typography settings.
    5. General Theme Variables: Supporting variables like border-radius and shadow.
  5. Understand the Eva Design System in Nebular

    master
    Nebular is an Angular implementation of the Eva Design System. All Nebular components follow the visual styles, behaviors, and rules defined by the Eva Design System. The system is based on Atomic Design Principles, where components are built from basic elements with shared styles and a unified visual language. This architecture allows for high customizability and support for multiple themes across different platforms.
  6. Access Nebular Professional Services

    master

    Akveo offers several professional services to help developers and businesses implement, customize, and support Nebular-based applications. These services include:

    • Theme customization: Tailoring Nebular components, controls, and modules to match company branding.
    • Custom development: Building new web/mobile applications or extending existing ones with new features.
    • Consulting: Specialized assistance including Code Review/Analysis, Debugging, Programming Help, Deployment, and Workshop Mentoring.
    • Support: Technical assistance including assured response to requests, debugging, deployment consulting, remote engineering assistance, and full application code analysis.
    • Trainings: Practical knowledge transfer via Online study (comprehensive online courses) or Offline study (onsite, tailored training).
  7. Understand Auth Strategies in Nebular

    master

    In Nebular, an Auth Strategy is a class that encapsulates authentication logic for specific flows (e.g., email/password, OAuth2). It handles user input, communicates with the backend API, and returns the result to the Auth UI layer.

    Nebular provides two built-in strategies:

    • NbDummyAuthStrategy: Used for testing to simulate backend responses during development.
    • NbPasswordAuthStrategy: The standard strategy for email/password authentication.
  8. Core features of Nebular Security

    master

    The Nebular Security module provides the following tools for managing application access:

    • ACL Configuration: Define roles, permissions, and resources.
    • RoleProvider: An authentication-agnostic service used to determine a user's current roles.
    • NbAccessChecker: A service used to programmatically check if access to a resource is granted.
    • *nbIsGranted: A conditional directive used in templates to manage the visibility of UI elements based on permissions.
    • Security Decorator (Coming Soon): A decorator to manage access to specific class methods.
  9. Understand the difference between Nebular Auth and Nebular Security

    master

    Nebular is divided into two distinct security concerns:

    1. Nebular Auth: Used to authenticate a user (verifying who they are).
    2. Nebular Security: Used to authorize a user (verifying what they are allowed to access).

    Important Security Note: Front-end Access Control Lists (ACL) are intended to improve user experience by managing UI visibility. They do not replace back-end security. You must duplicate all security rules on your back-end to ensure actual data protection.