Compare commits

..
Author SHA1 Message Date
fraujulianandClaude Opus 5.5 2cf0dd1720 docs(readme): rewrite in a personal voice
CI / formatting (push) Successful in 46s
CI / metadata (push) Successful in 46s
CI / lint (push) Successful in 54s
CI / tests (push) Successful in 54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:46:08 +02:00
+50 -39
View File
@@ -1,75 +1,86 @@
# FrauJulian's Portfolio Website # Hey, I'm Julian ๐Ÿ‘‹
## Preview This is the source code of my personal portfolio at
[fraujulian.xyz](https://fraujulian.xyz/). It's where I show who I am, what I
work on, and how you can reach me.
Visit the live website at [fraujulian.xyz](https://fraujulian.xyz/). I'm a full-stack developer from Austria. I care about reliable systems, clean
code, and privacy. Most of my day happens on the move, usually on a train, and
when I'm not coding, I'm probably scuba diving somewhere in an Austrian lake. ๐Ÿคฟ
## Technology ## What you'll find on the site
- Angular 22 - A short introduction about me and the skills I work with
- TypeScript - My current jobs and projects
- SCSS - Ways to get in touch: email, phone, Signal, Gitea, and LinkedIn
- Vitest for tests - English and German versions (add `?lang=de` for German)
- A small portrait gallery: click the photo to see a bit more of my life
## Features
- English and German language options (`?lang=de` selects German)
- About, work, and project portfolio
- Contact links
- Imprint and privacy information - Imprint and privacy information
- Interactive portrait highlights
## Project Architecture ## Built with
- `src/app/home` โ€” portfolio landing page I kept the stack small and modern on purpose:
- `src/app/imprint` โ€” imprint and privacy page
- `src/app/footer` โ€” site footer
- `src/app/shared` โ€” reusable UI components
- `src/app/services` โ€” language and preference services
- `src/languages` โ€” English and German content
- `scripts` โ€” asset generation, versioning, and static file tools
## Setup - Angular 22 with standalone components, signals, and zoneless change detection
- TypeScript and SCSS
- Vitest for tests
- A tiny Node.js static server with security headers and compression
Requirements: Node.js 24.15 or newer and npm 11.12 or newer. The site is fully static. There is no tracking, no cookies, and no third-party
requests. Even the font is self-hosted. ๐Ÿ”’
### Development ## Running it locally
You need Node.js 24.15 or newer and npm 11.12 or newer.
```bash ```bash
npm ci npm ci
npm run dev npm run dev
``` ```
The development server generates required static assets and runs the site at This generates the optimized assets and starts the dev server at
`http://localhost:4200`. `http://localhost:4200`.
### Production To build and serve the production version:
```bash ```bash
npm run build npm run build
npm start npm start
``` ```
The build writes the static site to `dist/browser`. The static server serves the The build lands in `dist/browser`, and the static server runs at
built site at `http://localhost:3000`. `http://localhost:3000`.
## Tests ## Tests and checks
```bash ```bash
npm run test npm run test
npm run check
``` ```
This generates assets and runs the Vitest tests in jsdom. `npm run test` runs the Vitest suite in jsdom. `npm run check` runs linting,
formatting, version, and source text checks. Please run it before you open a
pull request.
## Docs ## Project structure
- `src/app/home`: the portfolio landing page
- `src/app/imprint`: imprint and privacy page
- `src/app/footer`: site footer
- `src/app/shared`: reusable UI building blocks
- `src/app/services`: language, preference, and SEO services
- `src/languages`: English and German content
- `scripts`: asset generation, versioning, and the static server
More notes:
- [Nginx Proxy Manager deployment notes](npm.md) - [Nginx Proxy Manager deployment notes](npm.md)
- [Project conventions](AGENTS.md)
## Guidelines ## License
Run `npm run check` before submitting changes. See [AGENTS.md](AGENTS.md) for The code is licensed under the
project conventions. [GNU Affero General Public License v3.0](LICENSE). The content of the website,
such as texts and photos, is mine and not covered by that license.
## LICENSE Thanks for stopping by! โœจ
Licensed under the [GNU Affero General Public License v3.0](LICENSE).