2.9 KiB
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.