Initial commit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user