Files
lmnp-organizer/frontend/README.md
T
nessar 26ab037084 feat: add brand mark component and dashboard page
- Introduced a new `BrandMark` component for branding purposes.
- Created a `DashboardPage` component with a responsive layout, including sections for user profile, apartment management, and API demo.
- Added styles for the dashboard page to enhance user experience.
- Implemented a settings page with theme preferences and session management features.
- Developed a sign-in page with branding and user-friendly design.
- Established a workspace navigation component for easy access to different sections of the application.
- Implemented an `ApartmentService` for managing apartment data with corresponding unit tests.
- Created a `ConfigService` for loading application configuration.
- Added a `ThemeService` to manage user theme preferences dynamically.
2026-08-17 14:18:14 +02:00

80 lines
2.8 KiB
Markdown

# LmnpFrontend
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 22.0.6.
## Development server
To start a local development server, run:
```bash
bun run start
```
Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
## Code scaffolding
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
```bash
ng generate component component-name
```
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
```bash
ng generate --help
```
## Building
To build the project run:
```bash
ng build
```
This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
## Running unit tests
To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command:
```bash
bun run test -- --watch=false
```
## Component design
Build components around a cohesive, user-visible responsibility: a page section, a reusable control,
or an independently testable interaction. Do not split a component merely to reduce its line count.
- Keep `App` responsible for application-level orchestration, authentication, and cross-feature state.
- Prefer presentational components: accept data through inputs and report user intent through outputs.
A component may inject a service only when it owns a self-contained feature and its data lifecycle.
- Keep transient interaction state with the component that owns it. For example, a form owns its field
values and validation, then emits a validated draft.
- Give non-trivial components their own directory and co-locate the TypeScript class, template,
component-specific styles, and tests. Shared primitives may stay as single files.
- Add focused unit tests for components with behavior: input transformation, conditional UI, validation,
or emitted actions. Do not add tests solely for static wrapper markup.
Component-specific styles belong beside the component and use Angular's default view encapsulation.
Keep [`src/styles.scss`](./src/styles.scss) for design tokens, reset rules, and reusable visual primitives.
## Running end-to-end tests
For end-to-end (e2e) testing, run:
```bash
bunx playwright install chromium
bun run e2e
```
The Playwright suite starts the Angular development server automatically and runs against the
360 px mobile, 768 px tablet, and 1280 px desktop projects defined in `playwright.config.ts`.
## Additional Resources
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.