This is the source code for the chalender.ch PWA.
- Framework: Angular with Server-Side Rendering
- Styling: SCSS
- Package manager: pnpm
- CI/CD: GitHub Actions
- Node.js (LTS version)
- pnpm (latest version)
-
Clone the repository and navigate into it
-
Install dependencies:
pnpm install
Start the development server:
pnpm startThen open http://localhost:4200 in your browser. The app reloads automatically on source file changes.
| Command | Description |
|---|---|
pnpm run build:ssr:staging |
Build for staging |
pnpm run build:ssr:prod |
Build for production |
Build artifacts are placed in dist/.
After a build, start the SSR server with:
pnpm run serve:ssr:chalender-frontendA multi-stage Dockerfile is included. Build with:
docker build --build-arg ANGULAR_ENV=prod -t chalender-frontend .The container exposes port 8080.
To restore the events list after navigating back, a custom RouteReuseStrategy is defined. Routes that include a reuseRouteKey in their route data will be reused — this key must be unique per route.
A custom router outlet is used in app.component.html to expose the onAttach and onDetach lifecycle events.
Contributions are welcome! Feel free to fork the repository and submit a pull request with improvements or bug fixes.
This project is licensed under the Mozilla Public License 2.0 (MPL 2.0) — see the LICENSE file for details.