c65c9f1751
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
# Bewerbungs-Tracker
|
||
|
||
Lokale Web-Anwendung zur Verwaltung von Stellenbewerbungen – optimiert für die monatliche Nachweispflicht beim Jobcenter (Grundsicherung / Bürgergeld).
|
||
|
||
## Funktionen
|
||
|
||
- **Bewerbungen verwalten** – Anlegen, Bearbeiten, Löschen
|
||
- **Monatsansicht** – Filter nach Monat und Jahr
|
||
- **Statistiken** – Gesamt, Positiv, Absagen, Ausstehend
|
||
- **PDF-Export** – Professionelles Dokument mit Ihren Daten für das Jobcenter
|
||
- **Dunkelmodus** – Standard oder per Schalter umschaltbar
|
||
- **Datenschutz** – Alle Daten bleiben lokal auf Ihrem Rechner (SQLite)
|
||
|
||
## Installation
|
||
|
||
### Voraussetzungen
|
||
|
||
- Node.js ≥ 18 (https://nodejs.org)
|
||
- npm (im Lieferumfang von Node.js)
|
||
- Build-Tools (für `better-sqlite3`):
|
||
- **Linux/Mac:** `build-essential` / Xcode Command Line Tools
|
||
- **Windows:** `windows-build-tools` oder Visual Studio Build Tools
|
||
|
||
### Schritte
|
||
|
||
```bash
|
||
# 1. In das Projektverzeichnis wechseln
|
||
cd bewerbungs-tracker
|
||
|
||
# 2. Abhängigkeiten installieren
|
||
npm install
|
||
|
||
# 3. Server starten
|
||
npm start
|
||
```
|
||
|
||
Die Anwendung ist dann unter **http://localhost:3000** erreichbar.
|
||
|
||
### Entwicklungsmodus (Auto-Reload)
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
## Projektstruktur
|
||
|
||
```
|
||
bewerbungs-tracker/
|
||
├── server.js # Express-Server mit allen Routen
|
||
├── package.json
|
||
├── views/
|
||
│ ├── index.ejs # Übersichtsseite
|
||
│ ├── einstellungen.ejs # Einstellungsseite
|
||
│ └── partials/
|
||
│ ├── header.ejs # HTML-Head + Navigation
|
||
│ └── footer.ejs # Abschlusselemente + Scripts
|
||
├── public/
|
||
│ ├── css/style.css # Tailwind-Utility-Klassen
|
||
│ └── js/main.js # Dark Mode, Modals, PDF-Generierung
|
||
└── data/
|
||
└── bewerbungen.db # SQLite-Datenbank (wird automatisch erstellt)
|
||
```
|
||
|
||
## Datenbank-Schema
|
||
|
||
```sql
|
||
-- Bewerbungen
|
||
CREATE TABLE bewerbungen (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
datum DATE NOT NULL,
|
||
firma TEXT NOT NULL,
|
||
stelle TEXT NOT NULL,
|
||
art TEXT,
|
||
status TEXT,
|
||
notizen TEXT,
|
||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- Benutzerprofil (wird im PDF verwendet)
|
||
CREATE TABLE settings (
|
||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||
name TEXT,
|
||
adresse TEXT,
|
||
kundennummer TEXT
|
||
);
|
||
```
|
||
|
||
## PDF-Export
|
||
|
||
1. Öffnen Sie **Einstellungen** und tragen Sie Ihren Namen, Adresse und Kundennummer ein.
|
||
2. Filtern Sie auf der Übersicht den gewünschten Monat.
|
||
3. Klicken Sie auf **„PDF exportieren"**.
|
||
|
||
Das PDF enthält:
|
||
- Briefkopf mit Ihren persönlichen Daten
|
||
- Titel „Bewerbungsaktivitäten – Monat Jahr"
|
||
- Zusammenfassungssatz
|
||
- Tabelle aller Bewerbungen des Monats
|
||
- Unterschriftszeile mit Datum
|
||
|
||
## Port ändern
|
||
|
||
```bash
|
||
PORT=8080 npm start
|
||
```
|
||
|
||
## Lizenz
|
||
|
||
MIT
|