updated README

This commit is contained in:
Kai Ritthaler 2025-05-15 18:02:52 +02:00 committed by Rudi Regentonne
parent 62436362d1
commit db01b6a36f
4 changed files with 73 additions and 29 deletions

View file

@ -1,3 +1,7 @@
Hier ist deine überarbeitete Dokumentation mit **korrigierten Rechtschreibfehlern, konsistenter Formatierung** und kleineren stilistischen Verbesserungen:
---
## 📦 Verwendete Software
- **Backend:** Node.js
@ -6,75 +10,109 @@
---
## Backend Nutzung
## ▶️ Backend starten
Dieser Command startet das Backend nachdem es korrekt installiert wurde.
Dieser Befehl startet das Backend, nachdem es korrekt installiert wurde:
DB in Docker
```
```bash
yarn start
```
Die Swagger Doku ist unter [/api-docs](http://localhost:3000/api-docs/)
DB nicht in Docker
```bash
yarn start-no-docker
```
Die Swagger-Dokumentation findest du unter:
[http://localhost:3000/api-docs](http://localhost:3000/api-docs)
---
## 🛠️ Installation
### 1. PostgreSQL installieren
### 🚀 Installation mit Docker
#### 🔹 Windows
1. [Docker installieren](https://www.docker.com/)
2. Installations-Skript ausführen:
PostgreSQL kannst du [hier herunterladen](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads).
```bash
yarn install-script
```
#### 🔹 Linux
---
Einfach über den Paketmanager deiner Wahl installieren. Danach den PostgreSQL-Dienst aktivieren (logischischerweise nur wenn du `systemd` verwendest):
### 🧱 Manuelle Installation
#### 1. PostgreSQL installieren
##### 🔹 Windows
PostgreSQL kannst du hier herunterladen:
[https://www.enterprisedb.com/downloads/postgres-postgresql-downloads](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads)
##### 🔹 Linux
PostgreSQL über deinen Paketmanager installieren. Danach den Dienst aktivieren:
```bash
sudo systemctl enable postgresql --now
```
### 2. In eine SQL-Shell wechseln
---
🔹 Windows
#### 2. In eine SQL-Shell wechseln
Folgenden Befehl ausführen, um als PostgreSQL-Benutzer in die psql-Shell zu gelangen:
##### 🔹 Windows
```bash
psql
```
🔹 Linux
Folgenden Befehl ausführen, um als PostgreSQL-Benutzer in die psql-Shell zu gelangen:
##### 🔹 Linux
```bash
sudo -iu postgres psql
```
### 3. Benutzer und Datenbank in PostgreSQL anlegen
---
In der geöffneten psql-Shell folgenden Befehl ausführen.
#### 3. Benutzer und Datenbank anlegen
```bash
In der geöffneten psql-Shell:
```sql
CREATE DATABASE prisma;
```
### 4. .env-Datei vorbereiten
---
Die Datei .env.example in .env umbenennen und dein Passwort dort eintragen.
Außerdem solltest du das Token secret ändern.
#### 4. .env-Datei vorbereiten
### 5. Prisma vorbereiten
- Die Datei `.env.example` in `.env` umbenennen
- Passwort und Token-Secret anpassen
Im Projektordner folgenden Befehl ausführen, um Prisma-Client zu generieren:
---
#### 5. Prisma vorbereiten
Im Projektordner folgenden Befehl ausführen, um den Prisma-Client zu generieren:
```bash
yarn prisma generate
```
### 6. Datenbank initialisieren
---
Dieser Command erstellt die DB nach der Datei `schema.prisma`
#### 6. Datenbank initialisieren
Dies erstellt die Datenbank anhand der `schema.prisma`:
```bash
yarn prisma migrate dev --name init
```
---
Wenn du möchtest, kann ich die Doku auch automatisch auf Englisch übersetzen oder als `README.md` formatieren. Sag einfach Bescheid!

View file

@ -15,6 +15,7 @@
"jsonwebtoken": "^9.0.2",
"node": "^22.15.0",
"pg": "^8.15.6",
"readline-sync": "^1.4.10",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.1",
"zod": "^3.24.4"

View file

@ -27,6 +27,7 @@ while (!postgresPassword) {
});
!postgresPassword && console.log("Password cannot be empty");
}
// getting user input for .env file
const jwtSecret: string = crypto.randomBytes(32).toString("hex"); // 64 Zeichen
const env: string = `DATABASE_URL="postgresql://${postgresUser}:${postgresPassword}@localhost:5432/prisma"
TOKEN_SECRET="${jwtSecret}"
@ -38,13 +39,14 @@ try {
} catch (err) {
console.error("Error writing to file:", err);
}
// running the commands from the JSON file
// The commands are executed in the order they are defined in the JSON file
(async () => {
for (const command of config.commands) {
try {
const { stdout, stderr } = await execPromise(command); // Wait for the command to finish
if (stderr) {
console.log(`stderr: ${stderr}`);
console.log(stderr);
}
console.log(stdout); // Print the output of the command`);
} catch (error: any) {
@ -56,8 +58,6 @@ try {
fs.writeFile(json_path, JSON.stringify(config), (err) => {
if (err) {
console.error("Error writing to file:", err);
} else {
console.log("File has been updated successfully.");
}
});
console.log("Installation complete");

View file

@ -1312,6 +1312,11 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
readline-sync@^1.4.10:
version "1.4.10"
resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b"
integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==
resolve@^1.0.0:
version "1.22.10"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"