Initial commit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 18:15:11 +02:00
commit c65c9f1751
19 changed files with 3633 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
# 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