# Meine persönliche Test- und Präsentationswebsite

Willkommen auf meiner persönlichen Website! Diese Seite dient als Plattform, um neue Module zu testen und mich selbst zu präsentieren. Zusätzlich bietet die Website einige nützliche Funktionen, darunter eine Login-Seite für registrierte Nutzer und einen QR-Code-Generator. Es gibt auch ein Kontaktformular für Notfälle, das es anderen ermöglicht, mich zu benachrichtigen, wenn etwas mit meinem Auto passiert.

## Funktionen

### 1. **Startseite**

- Überblick über meine Projekte und Interessen.
- Vorstellung meiner Person und meiner Arbeit.

### 2. **Login-Funktion**

- Registrierte Nutzer können sich einloggen, um Zugriff auf erweiterte Funktionen zu erhalten.
- Nach der Registrierung muss ein neuer User von einem Admin freigeschaltet werden.
- Sicherheit wird durch eine sichere Passwortspeicherung und Authentifizierung mittels Bcrypt gewährleistet.

### 3. **QR-Code Generator (für angemeldete Nutzer)**

- Erlaubt es angemeldeten Nutzern, QR-Codes für verschiedene Zwecke zu generieren.
- Einfaches Interface zum Erstellen und Herunterladen von QR-Codes.

### 4. **Kontaktseite für Notfälle**

- Ein spezielles Formular, das von anderen genutzt werden kann, um mich in dringenden Fällen zu kontaktieren, wie bei einem Unfall oder einem Einbruch in mein Auto.
- Das Formular sendet automatisch eine Benachrichtigung per Telegram an mich.
- Ein QR-Code zu dieser Seite befindet sich sichtbar im Auto, sodass Helfer schnell und unkompliziert eine Nachricht senden können.

## Installation und Einrichtung

### Voraussetzungen

- Node.js und npm sollten auf deinem Rechner installiert sein.
- Ein Telegram-Bot sollte eingerichtet sein, um Benachrichtigungen zu empfangen.

### Installation

1. Klone dieses Repository:

   ```bash
   git clone https://git.boergmann.it/klaas/homeboergmann.git
   cd repositoryname
   ```

2. Installiere die Abhängigkeiten:

   ```bash
   npm install
   ```

3. Konfiguriere die Umgebungsvariablen:

   - Benenne `.env_default` in `.env` um und fülle die Variablen aus

4. Starte die Anwendung:

   ```bash
   npm start
   ```

   Die Anwendung läuft nun auf `http://localhost:3000`.

## Nutzung

### QR-Code Generator

Nach dem Login können Nutzer auf den QR-Code-Generator zugreifen. Hier können sie QR-Codes für URLs, Text oder andere Inhalte erstellen und herunterladen.

### Notfall-Kontaktformular

Die Kontaktseite ist über einen QR-Code zugänglich, der sich im Auto befindet. Wenn jemand das Formular ausfüllt, wird automatisch eine Nachricht per Telegram an mich gesendet, sodass ich sofort benachrichtigt werde.

## Technologie-Stack

- **Backend:** Node.js, Express, postgresql
- **Frontend:** EJS, Bootstrap
- **Authentifizierung:** Bcrypt
- **QR-Code-Generierung:** `qrcode` npm-Paket
- **Benachrichtigungen:** Telegram Bot API
- **Hosting:** Kann auf jedem Node.js-fähigen Server betrieben werden

## Beiträge

Beiträge und Verbesserungsvorschläge sind herzlich willkommen! Bitte erstelle einen Pull Request oder öffne ein Issue, um Ideen einzubringen.

## Lizenz

Dieses Projekt steht unter der MIT-Lizenz – weitere Informationen findest du in der LICENSE.md Datei im Repository.
