diff --git a/README.md b/README.md index b9bdf72..686db99 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,12 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js 16 (App Router)**, **Tailwind CSS**, and **React 19**, backed by a custom **lightweight PHP analytics engine**. +[![Deployment Status](https://git.andre-kempf.com/Chneemann/portfolio/badges/workflows/deploy.yml/badge.svg?branch=main)](https://git.andre-kempf.com/Chneemann/portfolio/actions) +[![Website Status](https://img.shields.io/badge/website-online-brightgreen?style=flat-square&logo=google-chrome&logoColor=white)](https://andre-kempf.com) ![Next.js](https://img.shields.io/badge/Next.js-16-black?style=flat-square&logo=next.js) ![React](https://img.shields.io/badge/React-19-blue?style=flat-square&logo=react) -![Tailwind CSS](https://img.shields.io/badge/Tailwind-v4-38bdf8?style=flat-square&logo=tailwind-css) ![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=flat-square&logo=typescript) +![Tailwind CSS](https://img.shields.io/badge/Tailwind-v4-38bdf8?style=flat-square&logo=tailwind-css) --- @@ -23,15 +25,21 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js ### Frontend - **Framework:** [Next.js 16](https://nextjs.org/) (App Router) -- **UI & Styling:** [React 19](https://react.dev/), [Tailwind CSS](https://tailwindcss.com/) +- **UI & Styling:** [React 19](https://react.dev/), [Tailwind CSS v4](https://tailwindcss.com/) - **Icons & Components:** Lucide Icons, Custom UI Components - **State & Events:** Native CustomEvents, React State ### Backend & Analytics -- **Language:** PHP 8.x -- **Data Privacy:** One-way IP Hashing (`MD5` + daily salt), Session Rate Limiting -- **Protocol:** JSON REST API (`analytics.php`) +- **Runtime:** Node.js / Next.js API Routes (App Router) +- **Data Privacy:** One-way IP Hashing (`SHA-256` / daily salt), Session Rate Limiting +- **Protocol:** JSON REST API / Server Actions + +### Infrastructure & CI/CD + +- **Hosting:** VPS / Docker Containers +- **CI/CD Pipeline:** Self-hosted Forgejo Actions (Automated build & SSH deployment) +- **Mirroring:** Automated sync to GitHub --- @@ -47,7 +55,7 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js 1. **Clone the repository:** ```bash - git clone https://codeberg.org/Chneemann/portfolio.git + git clone [https://git.andre-kempf.com/Chneemann/portfolio.git](https://git.andre-kempf.com/Chneemann/portfolio.git) cd portfolio ``` @@ -67,17 +75,22 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js ## 📁 Repository Structure +````text +## 📁 Repository Structure + ```text ├── src/ # Source Code -│ ├── app/ # Next.js App Router (Pages & Metadata) -│ │ ├── favicon.ico -│ │ ├── globals.css # Global Styles & Tailwind Imports -│ │ ├── layout.tsx # Root Layout (Fonts, Metadata, Providers) -│ │ ├── page.tsx # Landing Page / Main View +│ ├── app/ # Next.js App Router (Pages, Routes & API) +│ │ ├── api/ # Native Next.js Route Handlers +│ │ │ └── analytics/ +│ │ │ └── route.ts # Live Metrics & Traffic Handler (JSON-based) │ │ ├── imprint/ # Imprint Page │ │ │ └── page.tsx -│ │ └── privacy/ # Privacy Policy Page -│ │ └── page.tsx +│ │ ├── privacy/ # Privacy Policy Page +│ │ │ └── page.tsx +│ │ ├── globals.css # Global Styles & Tailwind Imports +│ │ ├── layout.tsx # Root Layout (Fonts, Metadata, Providers) +│ │ └── page.tsx # Landing Page / Main View │ │ │ ├── components/ # Reusable UI & Layout Components │ │ ├── About.tsx # About Me & Bio Section @@ -85,7 +98,7 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js │ │ ├── AnalyticsWidget.tsx # Footer Performance & Metrics Badge │ │ ├── Background.tsx # Dynamic Canvas / Background Effects │ │ ├── CommandPalette.tsx # Cmd+K Interactive Command Menu -│ │ ├── Contact.tsx # Contact Form Section +│ │ ├── Contact.tsx # Contact Form Section (Formspree Integration) │ │ ├── Footer.tsx # Footer with Links & Credits │ │ ├── Header.tsx # Navigation Header & Search Trigger │ │ ├── Hero.tsx # Hero Section / Intro Banner @@ -94,33 +107,28 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js │ │ └── Social.tsx # Social Media Links & Bar Component │ │ │ └── lib/ # Pure Utility Scripts, Configs & Helpers -│ ├── paletteCommands.ts # Registered Commands & Actions +│ ├── paletteCommands.ts # Registered Cmd+K Commands & Actions │ └── playSudoEasterEgg.ts # Easter-Egg Shell Simulation Logic │ -├── backend/ # Lightweight Backend & Mail/Analytics Engine -│ ├── templates/ -│ │ └── emailTemplate.php # HTML/CSS Mail Template -│ ├── analytics.php # REST API for Traffic & Metrics -│ ├── config.php # Security, Rate Limiting & Hashing Setup -│ └── sendMail.php # Contact Form Mailer & Handler -│ ├── public/ # Static Assets (Client Access) │ ├── robots.txt # Search Engine Directives │ ├── sitemap.xml # XML Sitemap │ └── assets/ +│ ├── downloads/ # Downloadable Files (e.g. CV PDF) │ ├── icons/ # SVG Icons & Favicons -│ ├── images/ # Screenshots & Profile Assets +│ ├── images/ # Profile Assets & Screenshots │ └── projects/ # Project Graphics & Previews │ ├── AGENTS.md # AI Agent Instructions ├── CLAUDE.md # Claude Code Instructions +├── Dockerfile # Container Build Instructions ├── eslint.config.mjs # ESLint Rules ├── next.config.ts # Next.js Configuration ├── package.json # Project Dependencies & Scripts ├── postcss.config.mjs # PostCSS Setup ├── README.md # Project Documentation └── tsconfig.json # TypeScript Compiler Rules -``` +```` ---