https://github.com/kosmaster87/portfolio
Built with Angular, I used attention to detail and product mindset to deliver a bilingual, responsive SPA with polished UX and project storytelling.
https://github.com/kosmaster87/portfolio
angular animations archict contact-form developer-portfolio frontend responsive-design typescript
Last synced: about 1 month ago
JSON representation
Built with Angular, I used attention to detail and product mindset to deliver a bilingual, responsive SPA with polished UX and project storytelling.
- Host: GitHub
- URL: https://github.com/kosmaster87/portfolio
- Owner: KosMaster87
- Created: 2024-12-04T20:39:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-27T15:11:34.000Z (about 2 months ago)
- Last Synced: 2026-04-27T17:11:53.916Z (about 2 months ago)
- Topics: angular, animations, archict, contact-form, developer-portfolio, frontend, responsive-design, typescript
- Language: TypeScript
- Homepage: https://portfolio.dev2k.org/
- Size: 2.2 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ผ Personal Portfolio โ Angular SPA
[](https://angular.io/)
[](https://www.typescriptlang.org/)
[](https://sass-lang.com/)
[](https://portfolio.dev2k.org/coverage/index.html)
[](https://portfolio.dev2k.org/coverage/index.html)
[](LICENSE)
A fully responsive, modern portfolio website built as a Single Page Application (SPA) to showcase my skills, projects, and professional experience. Designed with a mobile-first approach and optimized for recruiters and hiring managers.
[๐ Live Demo](https://portfolio.dev2k.org) | [๐ Coverage Report](https://portfolio.dev2k.org/coverage/index.html) | [๐ API Docs](https://portfolio.dev2k.org/jsdoc/index.html)
---
## ๐ Live Demo
๐ **[portfolio.dev2k.org](https://portfolio.dev2k.org)**
---
## ๐ธ Preview

---
## โจ Features
- ๐จ **Light/Dark/Auto Theme** โ System preference detection with manual override
- ๐ **i18n (EN/DE)** โ Multi-language support with seamless switching
- ๐ฑ **Fully Responsive** โ Optimized for mobile, tablet, and desktop
- โก **PWA with Service Worker** โ Offline support and app-like experience
- โฟ **Accessible (ARIA)** โ WCAG compliant with keyboard navigation
- ๐งช **96.4% Test Coverage** โ 823 passing tests with comprehensive coverage
- ๐ง **Contact Form** โ Integrated PHP backend with email notifications
- ๐ **Security Features** โ Rate limiting, XSS protection, CORS configuration
- ๐ฏ **SEO Friendly** โ Semantic HTML and optimized meta tags
- ๐ **Project Showcase** โ Dynamic project cards with live demos
---
## ๐ ๏ธ Tech Stack
**Frontend**
- Angular 21 (Standalone, Signals, Zoneless)
- TypeScript 5.7
- SCSS
- Service Worker (PWA)
**Testing & Quality**
- Jasmine + Karma (823 tests)
- 96.4% Code Coverage
- ESLint & Prettier
**Backend**
- PHP 8+ (Contact API)
- Apache with .htaccess
**DevOps**
- GitHub Actions (CI/CD)
- FTP Deployment to IONOS
- JSDoc (API Documentation)
---
## ๐ Project Structure
```
Portfolio/
โโโ .github/
โ โโโ workflows/ # CI/CD workflows
โ โโโ deploy.yml # Build, test, and deploy pipeline
โโโ public/
โ โโโ api/
โ โ โโโ contact/ # PHP Contact Form API
โ โ โโโ contact.php # Production endpoint (not in Git)
โ โ โโโ contact.example.php # Template file
โ โโโ fonts/ # Overpass, Syne
โ โโโ i18n/ # Translation files (de.json, en.json)
โ โโโ theme-dark/ # Dark theme PWA icons
โ โโโ theme-light/ # Light theme PWA icons
โ โโโ manifest-*.webmanifest # PWA manifests
โโโ src/
โ โโโ app/
โ โ โโโ core/ # Core services & models
โ โ โ โโโ interceptors/ # HTTP interceptors
โ โ โ โโโ models/ # TypeScript interfaces
โ โ โ โโโ services/ # Business logic (8 services)
โ โ โโโ features/ # Feature modules
โ โ โ โโโ home/ # Home page sections
โ โ โ โ โโโ components/ # Hero, About, Skills, Projects, Contact
โ โ โ โ โโโ pages/ # HomePage
โ โ โ โโโ legal/ # Legal pages
โ โ โ โ โโโ pages/ # Imprint, Privacy, Sources
โ โ โ โโโ projects/ # Project components
โ โ โ โ โโโ components/ # ProjectCard
โ โ โโโ layout/ # App layout
โ โ โ โโโ header/ # Navigation, Theme/Lang switcher
โ โ โ โโโ footer/ # Footer, Social links
โ โ โโโ shared/ # Reusable components
โ โ โ โโโ components/ # Buttons, UI components
โ โ โ โโโ directives/ # IconHover, NoScroll
โ โ โ โโโ pages/ # NotFoundPage (404)
โ โ โโโ app.ts # Root component
โ โ โโโ app.config.ts # App configuration & providers
โ โ โโโ app.routes.ts # Route definitions
โ โ โโโ app.spec.ts # Root component tests
โ โโโ assets/
โ โ โโโ images/ # Profile, project screenshots
โ โ โโโ screenshots/ # App previews
โ โโโ environments/ # Environment configs
โ โโโ styles/ # Global SCSS
โ โ โโโ components/ # Component-specific styles
โ โ โโโ _fonts.scss
โ โ โโโ _layout.scss
โ โ โโโ _mixins.scss
โ โ โโโ _typography.scss
โ โ โโโ _variables.scss
โ โโโ index.html # HTML entry point
โ โโโ main.ts # Application bootstrap
โ โโโ styles.scss # Global styles entry
โโโ angular.json # Angular workspace config
โโโ ngsw-config.json # Service Worker config
โโโ package.json # Dependencies & scripts
โโโ tsconfig.json # TypeScript config
โโโ typedoc.json # TypeDoc configuration
โโโ docs/ # Documentation
โ โโโ manual/ # Handgeschriebene Doku (in Git)
โ โโโ generated/ # Generierter API-Output (gitignored)
โ โโโ typedoc/ # TypeDoc-Output (npm run docs:typedoc)
โ โโโ jsdoc/ # JSDoc-Output (npm run docs:jsdoc)
โโโ README.md # This file
```
---
## ๐ Deployment Structure
After deployment to **portfolio.dev2k.org**, the following structure is created:
```
portfolio.dev2k.org/
โโโ index.html # Portfolio App
โโโ assets/ # Images, fonts, i18n
โโโ *.js, *.css # Compiled bundles
โโโ .htaccess # Apache config (routing + security)
โโโ coverage/ # ๐ Test Coverage Report
โ โโโ index.html # https://portfolio.dev2k.org/coverage/index.html
โโโ jsdoc/ # ๐ API Documentation
โโโ index.html # https://portfolio.dev2k.org/jsdoc/index.html
```
**Live URLs:**
- ๐ App: [portfolio.dev2k.org](https://portfolio.dev2k.org)
- ๐ Coverage: [portfolio.dev2k.org/coverage](https://portfolio.dev2k.org/coverage/index.html)
- ๐ API Docs: [portfolio.dev2k.org/jsdoc](https://portfolio.dev2k.org/jsdoc/index.html)
---
## ๐ Documentation
Project documentation is currently centralized in this README and the live reports:
- [Coverage Report](https://portfolio.dev2k.org/coverage/index.html)
- [API Docs](https://portfolio.dev2k.org/jsdoc/index.html)
---
## ๐ค Author
**Konstantin Aksenov**
- ๐ Portfolio: [portfolio.dev2k.org](https://portfolio.dev2k.org)
- ๐ผ LinkedIn: [LinkedIn](https://www.linkedin.com/in/konstantin-aksenov-802b88190/)
- ๐ GitHub: [@KosMaster87](https://github.com/KosMaster87)
- ๐ง Email: konstantin.aksenov@dev2k.org
---