Files
Personal-Portfolio-Website/README.md
T
fraujulianandClaude Opus 5.5 2cf0dd1720
CI / formatting (push) Successful in 46s
CI / metadata (push) Successful in 46s
CI / lint (push) Successful in 54s
CI / tests (push) Successful in 54s
docs(readme): rewrite in a personal voice
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:46:08 +02:00

87 lines
2.4 KiB
Markdown

# Hey, I'm Julian 👋
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.
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. 🤿
## What you'll find on the site
- A short introduction about me and the skills I work with
- My current jobs and projects
- Ways to get in touch: email, phone, Signal, Gitea, and LinkedIn
- English and German versions (add `?lang=de` for German)
- A small portrait gallery: click the photo to see a bit more of my life
- Imprint and privacy information
## Built with
I kept the stack small and modern on purpose:
- 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
The site is fully static. There is no tracking, no cookies, and no third-party
requests. Even the font is self-hosted. 🔒
## Running it locally
You need Node.js 24.15 or newer and npm 11.12 or newer.
```bash
npm ci
npm run dev
```
This generates the optimized assets and starts the dev server at
`http://localhost:4200`.
To build and serve the production version:
```bash
npm run build
npm start
```
The build lands in `dist/browser`, and the static server runs at
`http://localhost:3000`.
## Tests and checks
```bash
npm run test
npm run check
```
`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.
## 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)
- [Project conventions](AGENTS.md)
## License
The code is licensed under the
[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.
Thanks for stopping by! ✨