Appearance
Projektdokumentation
Einleitung
Dieses Projekt stellt die Codebasis der Website remsfal.de dar.
Es wurde mit Vue 3, Vite, TypeScript, PrimeVue und Tailwind CSS umgesetzt.
Ziel ist es, eine modulare, wartbare und responsive Webanwendung zu entwickeln.
Diese Dokumentation hilft dir, die Struktur des Projekts zu verstehen und es lokal zu starten oder weiterzuentwickeln.
Projekt starten
Voraussetzungen
- Node.js 18+
- Paketmanager:
npm(alternativpnpmoderyarn)
Installation
bash
npm ciLokale Entwicklungsumgebung starten
bash
npm run devProduktion kompilieren
bash
npm run buildTests und Linting
Unit Tests mit Vitest
bash
npm run test:unitLinting mit ESLint
bash
npm run lintProjektstruktur
txt
├── src/
│ ├── assets/ → Layout- und Style-Dateien
│ ├── components/ → Wiederverwendbare UI-Komponenten (Header, Footer etc.)
│ ├── router/ → Seitenrouting (vue-router)
│ ├── services/ → Hilfsfunktionen (z. B. GitHubService.ts)
│ ├── views/ → Einzelseiten (z. B. DocumentationView.vue)
│ └── App.vue → Einstiegspunkt mit globalem Layout
├── tests/ → Vitest-Komponententests + Snapshots
├── vite.config.ts → Vite-Konfiguration
├── tailwind.config.cjs → Tailwind-Konfiguration
└── tsconfig.*.json → TypeScript-KonfigurationenWichtige Technologien
Vue 3 mit Composition API
Moderne Komponentenstruktur mit<script setup>SyntaxVite
Schneller Dev-Server und BundlerTailwind CSS
Utility-first CSS-Framework für das LayoutPrimeVue
UI-Komponenten (z. B. Buttons, Dialoge)Vitest
Test-Framework für Unit-TestsTypeScript
Typsicherheit im gesamten Projekt
Für neue Entwickler:innen
Wenn du neu im Projekt bist, solltest du dich zuerst mit folgenden Themen vertraut machen:
Vue 3 Single File Components (SFCs)
Aufbau einer Komponente mit Template,<script setup>und scoped StylesRouting mit vue-router
Die Seitenstruktur wird über die Dateisrc/router/index.tsdefiniertTailwind & PrimeVue
Tailwind wird für das Layout und Styling verwendet, PrimeVue liefert interaktive UI-KomponentenServices (API)
Beispiel:GitHubService.tszeigt, wiefetch-Anfragen an externe APIs gestellt werdenTesting mit Vitest
Intests/EducationalSection.spec.tssiehst du, wie Komponenten gemountet und getestet werden