Files
jobbi-bewerbung/README.md
T
thomas c65c9f1751 Initial commit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 18:15:11 +02:00

111 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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