2.9 KiB

Technology Stack Document

Generated: Tuesday, September 16, 2025

Frontend Technologies

  • Framework: Angular. The boilerplate is built on the latest stable version of the Angular framework, chosen for its robustness, component-based architecture, and suitability for large-scale, enterprise applications.
  • Language: TypeScript. As a superset of JavaScript, TypeScript is used for its strong typing, which improves code quality, maintainability, and developer productivity.
  • Styling: SCSS. SCSS is used for its advanced features over standard CSS, such as variables, nesting, and mixins, allowing for more organized and maintainable stylesheets.
  • UI Framework: VMware Clarity Design System. This comprehensive design system provides a set of accessible, high-quality UI components and a consistent visual language, which accelerates UI development.
  • Core Libraries:
    • RxJS: Used extensively throughout Angular for reactive programming and managing asynchronous operations.
    • Zone.js: A signaling mechanism that enables Angular's automatic change detection.

Backend Technologies

  • Backend Agnostic: This is a frontend-only boilerplate and is not tied to any specific backend technology. It is designed to communicate with any backend that exposes a RESTful or GraphQL API.

Database Technologies

  • Not Applicable: As a frontend project, the boilerplate does not include a database.

Infrastructure & Deployment

  • Web Server: The built application consists of static files that can be served by any modern web server (e.g., Nginx, Apache, Caddy).
  • Hosting: The project can be deployed to any static site hosting provider, such as Firebase Hosting, Netlify, Vercel, AWS S3, or GitHub Pages.
  • Containerization (Optional): The application can be easily containerized using Docker for consistent deployment environments.

Development & Build Tools

  • Build Tool: Angular CLI. The command-line interface for Angular is used for creating, building, testing, and deploying the application.
  • Package Manager: npm. The Node Package Manager is used for managing all project dependencies.
  • Version Control: Git. Git is the standard for version control and source code management.
  • Testing:
    • Unit Testing: Jasmine (framework) and Karma (test runner) are the default tools for unit testing in Angular.
    • End-to-End (E2E) Testing: The project can be configured to use Protractor or more modern alternatives like Cypress or Playwright.
  • Code Formatting/Linting:
    • ESLint: Used for identifying and reporting on patterns in ECMAScript/JavaScript code.
    • Prettier: An opinionated code formatter that enforces a consistent style.
    • EditorConfig: Helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.