34cfcecc1e27d2ca79a3078b54719914be7bed10
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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-toolsoder Visual Studio Build Tools
- Linux/Mac:
Schritte
# 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)
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
-- 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
- Öffnen Sie Einstellungen und tragen Sie Ihren Namen, Adresse und Kundennummer ein.
- Filtern Sie auf der Übersicht den gewünschten Monat.
- 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
PORT=8080 npm start
Lizenz
MIT
Description
Languages
EJS
52.6%
JavaScript
42.4%
CSS
3.8%
Dockerfile
1.2%