Files
jobbi-bewerbung/README.md
T
thomas c2a629e2c0 Refactor UI/views, rework Docker build, untrack local data
- Views umstrukturiert: einstellungen.ejs -> bewerbung.ejs, neues
  partials/head.ejs, header/footer/index angepasst
- CSS umbenannt: style.css -> styles.css
- server.js und public/js/main.js ueberarbeitet
- Dockerfile auf schlankes Multi-Stage-Setup umgestellt;
  docker-compose.yml und .dockerignore entfernt
- npm-Scripts docker:build/push/deploy ergaenzt
- SQLite-DB und .idea aus Git entfernt und via .gitignore ignoriert

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 04:01:37 +02:00

195 lines
4.5 KiB
Markdown

# Bewerbungs-Tracker
Ein professioneller Job Application Tracker für Jobcenter Grundsicherung Monatsberichte.
## Features
- **Benutzerprofile**: Speichern Sie Name, Adresse und Jobcenter Kundennummer
- **Dunkler Modus**: Vollständige Dark Mode Unterstützung mit lokaler Speicherung
- **CRUD-Operationen**: Komplette Verwaltung von Bewerbungen (Hinzufügen, Bearbeiten, Löschen)
- **Filterfunktion**: Filterung nach Monat und Jahr
- **Statistiken**: Übersicht über Gesamtbewerbungen, nach Art und Status
- **PDF-Export**: Professionelle PDF-Generierung für Jobcenter-Berichte
- **Responsive Design**: Optimiert für Desktop und Mobile Geräte
## Technologien
- **Backend**: Node.js + Express.js
- **Datenbank**: SQLite
- **Frontend**: EJS Template Engine, Tailwind CSS (CDN)
- **PDF-Generierung**: jsPDF + jspdf-autotable (CDN)
## Installation
### Voraussetzungen
- Node.js (Version 14 oder höher)
- npm oder yarn
### Schritte
1. **Projekt klonen**
```bash
cd bewerbungs-tracker
```
2. **Abhängigkeiten installieren**
```bash
npm install
```
3. **Datenbank-Verzeichnis erstellen**
```bash
mkdir -p data
```
Die SQLite-Datenbank wird automatisch beim ersten Start erstellt.
4. **Server starten**
```bash
npm start
```
Für Entwicklung mit automatischem Neuladen:
```bash
npm run dev
```
5. **Anwendung öffnen**
Öffnen Sie Ihren Browser und navigieren Sie zu:
```
http://localhost:3000
```
## Projektstruktur
```
bewerbungs-tracker/
├── server.js # Express Server mit API-Routen
├── package.json # Projektabhängigkeiten und Skripte
├── views/
│ ├── index.ejs # Hauptseite
│ └── partials/
│ ├── header.ejs # Kopfzeile mit Dark Mode Toggle
│ └── footer.ejs # Fußzeile
├── public/
│ ├── css/
│ │ └── styles.css # Benutzerdefinierte Styles
│ └── js/
│ └── main.js # Client-seitige Logik
├── data/
│ └── bewerbungen.db # SQLite Datenbank (wird automatisch erstellt)
└── README.md # Dokumentation
```
## Datenbank-Schema
### Bewerbungen
| Feld | Typ | Beschreibung |
|------|-----|--------------|
| id | INTEGER PRIMARY KEY | Eindeutige ID |
| datum | DATE | Bewerbungsdatum |
| firma | TEXT | Firmenname |
| stelle | TEXT | Stellenbezeichnung |
| art | TEXT | Art der Bewerbung |
| status | TEXT | Status der Bewerbung |
| notizen | TEXT | Zusätzliche Notizen |
| created_at | DATETIME | Erstellungsdatum |
| updated_at | DATETIME | Letztes Update |
### Einstellungen
| Feld | Typ | Beschreibung |
|------|-----|--------------|
| id | INTEGER | Immer 1 (Single Row) |
| name | TEXT | Benutzername |
| adresse | TEXT | Benutzeradresse |
| kundennummer | TEXT | Jobcenter Kundennummer |
## Verwendbare Optionen
### Art der Bewerbung
- E-Mail
- Online-Portal
- Indeed
- StepStone
- Firmenwebsite
- Post
- Initiativbewerbung
- Arbeitsagentur
- Sonstiges
### Status
- Gesendet
- Eingangsbestätigung
- Vorstellungsgespräch
- Absage
- Einstellung
- Keine Rückmeldung
## API-Endpunkte
### GET /
Hauptseite mit allen Bewerbungen
### GET /api/settings
Benutzereinstellungen abrufen
### POST /api/settings
Benutzereinstellungen speichern
### GET /api/bewerbungen
Alle Bewerbungen abrufen (mit Filter: ?month=MM&year=YYYY)
### POST /api/bewerbungen
Neue Bewerbung erstellen
### PUT /api/bewerbungen/:id
Bewerbung aktualisieren
### DELETE /api/bewerbungen/:id
Bewerbung löschen
### GET /api/bewerbungen/filter
Bewerbungen mit Filter abrufen
## PDF-Export
Der PDF-Export generiert ein professionelles Dokument mit:
- Benutzerdaten (Name, Adresse, Kundennummer)
- Überschrift mit Monat und Jahr
- Zusammenfassung der Bewerbungsaktivitäten
- Tabelle mit allen Bewerbungen
- Bestätigungstext und Datum
## Browser-Unterstützung
- Chrome (empfohlen)
- Firefox
- Safari
- Edge
## Dark Mode
Der Dark Mode kann manuell über den Toggle-Button in der Kopfzeile aktiviert werden. Die Einstellung wird in localStorage gespeichert und bleibt beim nächsten Besuch erhalten.
## Sicherheit
- Eingabefelder werden gegen XSS geschützt
- SQL-Injection wird durch parametrisierte Abfragen verhindert
- Formulare validieren Pflichtfelder
## Lizenz
MIT
## Autor
Bewerbungs-Tracker für Jobcenter Grundsicherung
---
**Hinweis**: Diese Anwendung ist speziell für die Anforderungen des deutschen Jobcenters (Grundsicherung) entwickelt worden. Sie hilft bei der Dokumentation von Bewerbungsaktivitäten für die monatlichen Berichte.