# 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