docs: update project documentation in README
All checks were successful
Deploy Portfolio to VPS / deploy (push) Successful in 21s
All checks were successful
Deploy Portfolio to VPS / deploy (push) Successful in 21s
This commit is contained in:
parent
7b6f2299bb
commit
d0140a82cf
1 changed files with 32 additions and 24 deletions
56
README.md
56
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**.
|
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**.
|
||||||
|
|
||||||
|
[](https://git.andre-kempf.com/Chneemann/portfolio/actions)
|
||||||
|
[](https://andre-kempf.com)
|
||||||

|

|
||||||

|

|
||||||

|
|
||||||

|

|
||||||
|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -23,15 +25,21 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js
|
||||||
### Frontend
|
### Frontend
|
||||||
|
|
||||||
- **Framework:** [Next.js 16](https://nextjs.org/) (App Router)
|
- **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
|
- **Icons & Components:** Lucide Icons, Custom UI Components
|
||||||
- **State & Events:** Native CustomEvents, React State
|
- **State & Events:** Native CustomEvents, React State
|
||||||
|
|
||||||
### Backend & Analytics
|
### Backend & Analytics
|
||||||
|
|
||||||
- **Language:** PHP 8.x
|
- **Runtime:** Node.js / Next.js API Routes (App Router)
|
||||||
- **Data Privacy:** One-way IP Hashing (`MD5` + daily salt), Session Rate Limiting
|
- **Data Privacy:** One-way IP Hashing (`SHA-256` / daily salt), Session Rate Limiting
|
||||||
- **Protocol:** JSON REST API (`analytics.php`)
|
- **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:**
|
1. **Clone the repository:**
|
||||||
|
|
||||||
```bash
|
```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
|
cd portfolio
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -67,17 +75,22 @@ A fast, privacy-focused, and accessible developer portfolio built with **Next.js
|
||||||
|
|
||||||
## 📁 Repository Structure
|
## 📁 Repository Structure
|
||||||
|
|
||||||
|
````text
|
||||||
|
## 📁 Repository Structure
|
||||||
|
|
||||||
```text
|
```text
|
||||||
├── src/ # Source Code
|
├── src/ # Source Code
|
||||||
│ ├── app/ # Next.js App Router (Pages & Metadata)
|
│ ├── app/ # Next.js App Router (Pages, Routes & API)
|
||||||
│ │ ├── favicon.ico
|
│ │ ├── api/ # Native Next.js Route Handlers
|
||||||
│ │ ├── globals.css # Global Styles & Tailwind Imports
|
│ │ │ └── analytics/
|
||||||
│ │ ├── layout.tsx # Root Layout (Fonts, Metadata, Providers)
|
│ │ │ └── route.ts # Live Metrics & Traffic Handler (JSON-based)
|
||||||
│ │ ├── page.tsx # Landing Page / Main View
|
|
||||||
│ │ ├── imprint/ # Imprint Page
|
│ │ ├── imprint/ # Imprint Page
|
||||||
│ │ │ └── page.tsx
|
│ │ │ └── page.tsx
|
||||||
│ │ └── privacy/ # Privacy Policy Page
|
│ │ ├── privacy/ # Privacy Policy Page
|
||||||
│ │ └── page.tsx
|
│ │ │ └── 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
|
│ ├── components/ # Reusable UI & Layout Components
|
||||||
│ │ ├── About.tsx # About Me & Bio Section
|
│ │ ├── 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
|
│ │ ├── AnalyticsWidget.tsx # Footer Performance & Metrics Badge
|
||||||
│ │ ├── Background.tsx # Dynamic Canvas / Background Effects
|
│ │ ├── Background.tsx # Dynamic Canvas / Background Effects
|
||||||
│ │ ├── CommandPalette.tsx # Cmd+K Interactive Command Menu
|
│ │ ├── 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
|
│ │ ├── Footer.tsx # Footer with Links & Credits
|
||||||
│ │ ├── Header.tsx # Navigation Header & Search Trigger
|
│ │ ├── Header.tsx # Navigation Header & Search Trigger
|
||||||
│ │ ├── Hero.tsx # Hero Section / Intro Banner
|
│ │ ├── 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
|
│ │ └── Social.tsx # Social Media Links & Bar Component
|
||||||
│ │
|
│ │
|
||||||
│ └── lib/ # Pure Utility Scripts, Configs & Helpers
|
│ └── 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
|
│ └── 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)
|
├── public/ # Static Assets (Client Access)
|
||||||
│ ├── robots.txt # Search Engine Directives
|
│ ├── robots.txt # Search Engine Directives
|
||||||
│ ├── sitemap.xml # XML Sitemap
|
│ ├── sitemap.xml # XML Sitemap
|
||||||
│ └── assets/
|
│ └── assets/
|
||||||
|
│ ├── downloads/ # Downloadable Files (e.g. CV PDF)
|
||||||
│ ├── icons/ # SVG Icons & Favicons
|
│ ├── icons/ # SVG Icons & Favicons
|
||||||
│ ├── images/ # Screenshots & Profile Assets
|
│ ├── images/ # Profile Assets & Screenshots
|
||||||
│ └── projects/ # Project Graphics & Previews
|
│ └── projects/ # Project Graphics & Previews
|
||||||
│
|
│
|
||||||
├── AGENTS.md # AI Agent Instructions
|
├── AGENTS.md # AI Agent Instructions
|
||||||
├── CLAUDE.md # Claude Code Instructions
|
├── CLAUDE.md # Claude Code Instructions
|
||||||
|
├── Dockerfile # Container Build Instructions
|
||||||
├── eslint.config.mjs # ESLint Rules
|
├── eslint.config.mjs # ESLint Rules
|
||||||
├── next.config.ts # Next.js Configuration
|
├── next.config.ts # Next.js Configuration
|
||||||
├── package.json # Project Dependencies & Scripts
|
├── package.json # Project Dependencies & Scripts
|
||||||
├── postcss.config.mjs # PostCSS Setup
|
├── postcss.config.mjs # PostCSS Setup
|
||||||
├── README.md # Project Documentation
|
├── README.md # Project Documentation
|
||||||
└── tsconfig.json # TypeScript Compiler Rules
|
└── tsconfig.json # TypeScript Compiler Rules
|
||||||
```
|
````
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue