Umbenennung in Vorrania

Sichtbarer Name ueberall: Kopfzeichen der Oberflaeche, Seitentitel, Favicon,
API-Titel, User-Agent zu Open Food Facts, Dateinamen der Sicherungen, README,
Roadmap, Installer- und Update-Skript, npm-Paketname.

Bewusst NICHT umbenannt, jeweils mit Begruendung im Code:
- POSTGRES_USER/DB und der Volume-Name bleiben "project_good". Ein neuer
  Volume-Name legt eine leere Datenbank an, ein neuer Benutzername scheitert am
  bestehenden Volume - vorhandene Bestaende waeren verloren.
- Der localStorage-Schluessel bleibt, sonst waeren alle Browser einmal
  ausgesperrt.
- ios/ bleibt unangetastet (wird getrennt bearbeitet).

Die Klon-Adresse im README zeigt jetzt auf .../vorrania.git; das Repo in Gitea
muss dafuer umbenannt werden.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-23 13:05:32 +02:00
parent 26f7ed21d8
commit 2423e74cae
14 changed files with 27 additions and 20 deletions

View File

@@ -1,4 +1,4 @@
# 🥫 Project-Good Selfhostbare Lebensmittel-Lagerverwaltung
# Vorrania Selfhostbare Lebensmittel-Lagerverwaltung
Ein selbst gehosteter Dienst zur Verwaltung deines Lebensmittelvorrats:
Ein-/Auslagern per Barcode, MHD-/Ablaufverwaltung mit Chargen, Mindestbestände,
@@ -44,8 +44,8 @@ Voraussetzung: eine Linux-Maschine (Server, NAS, Raspberry Pi …). Docker wird
Bedarf automatisch installiert.
```bash
git clone https://git.scarriffle.com/Scarriffle/project-good.git
cd project-good/deploy
git clone https://git.scarriffle.com/Scarriffle/vorrania.git
cd vorrania/deploy
chmod +x install.sh
./install.sh # interaktiv fragt Port & Admin-Passwort
# oder vollautomatisch mit generiertem Admin-Passwort:
@@ -61,7 +61,7 @@ Nach dem Start:
## Aktualisieren
```bash
cd project-good/deploy
cd vorrania/deploy
./update.sh # holt den neuesten Stand aus Git und baut neu
./update.sh --prune # zusätzlich alte Images aufräumen
./update.sh --no-pull # nur neu bauen, ohne git pull
@@ -87,7 +87,7 @@ cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# lokale SQLite-DB nutzen:
export DATABASE_URL="sqlite:///./project_good.db"
export DATABASE_URL="sqlite:///./vorrania.db"
uvicorn app.main:app --reload
```
API-Doku dann unter `http://localhost:8000/docs`.

View File

@@ -78,7 +78,7 @@ async def lifespan(app: FastAPI):
yield
app = FastAPI(title="Project-Good Lebensmittel-Lagerverwaltung", version="1.0.0", lifespan=lifespan)
app = FastAPI(title="Vorrania Lebensmittel-Lagerverwaltung", version="1.0.0", lifespan=lifespan)
origins = ["*"] if settings.cors_origins.strip() == "*" else [
o.strip() for o in settings.cors_origins.split(",") if o.strip()

View File

@@ -55,7 +55,7 @@ def lookup_barcode(barcode: str) -> dict | None:
resp = httpx.get(
url,
timeout=settings.off_timeout_seconds,
headers={"User-Agent": "Project-Good-Selfhosted/1.0"},
headers={"User-Agent": "Vorrania-Selfhosted/1.0"},
follow_redirects=True,
)
except httpx.HTTPError:

View File

@@ -185,7 +185,7 @@ def export_backup_json(
media_type="application/json; charset=utf-8",
headers={
"Content-Disposition":
f'attachment; filename="project-good-backup_{_zeitstempel()}.json"'
f'attachment; filename="vorrania-backup_{_zeitstempel()}.json"'
},
)

View File

@@ -1,3 +1,8 @@
# Die Datenbank-Bezeichner heissen weiterhin "project_good" und werden mit der
# Umbenennung in Vorrania bewusst NICHT geaendert: Ein anderer Volume-Name legt
# eine leere Datenbank an, und ein anderer POSTGRES_USER scheitert an einem
# bestehenden Volume. Beides wuerde vorhandene Bestaende unbrauchbar machen.
# Es sind interne Namen, die niemand zu sehen bekommt.
services:
db:
image: postgres:16-alpine

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Project-Good Installer für selfhostbare Lebensmittel-Lagerverwaltung.
# Vorrania Installer für selfhostbare Lebensmittel-Lagerverwaltung.
# Installiert bei Bedarf Docker und startet den kompletten Stack via Docker Compose.
#
# Nutzung:
@@ -208,7 +208,7 @@ wait_for_backend() {
# --- Start --------------------------------------------------------------------
main() {
info "Project-Good-Installer startet …"
info "Vorrania-Installer startet …"
ensure_docker
create_env

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Project-Good Update-Skript.
# Vorrania Update-Skript.
# Holt die neueste Version aus Git und baut die Container neu.
#
# Nutzung (von überall aufrufbar):

View File

@@ -1,4 +1,4 @@
# Project-Good Roadmap
# Vorrania Roadmap
Selfhostbare Lebensmittel-Lagerverwaltung. Aufbau in mehreren Schritten.

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Project-Good Lagerverwaltung</title>
<title>Vorrania Lagerverwaltung</title>
</head>
<body>
<div id="root"></div>

4
web/package-lock.json generated
View File

@@ -1,11 +1,11 @@
{
"name": "project-good-web",
"name": "vorrania-web",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "project-good-web",
"name": "vorrania-web",
"version": "1.0.0",
"dependencies": {
"react": "^18.3.1",

View File

@@ -1,5 +1,5 @@
{
"name": "project-good-web",
"name": "vorrania-web",
"private": true,
"version": "1.0.0",
"type": "module",

View File

@@ -1,4 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Project-Good">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Vorrania">
<!-- Dasselbe Zeichen wie in der Seitenleiste: das "box"-Icon aus
components/Icon.jsx auf der Akzentflaeche. Die Farbe folgt der
Oberflaeche - im dunklen Modus der hellere Akzent, damit das Symbol

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 858 B

View File

@@ -3,6 +3,8 @@
const API_BASE = "/api";
// Schluessel bleibt trotz Umbenennung in Vorrania: Ein neuer Name wuerde alle
// angemeldeten Browser einmal aussperren, ohne dass irgendjemand ihn je sieht.
const TOKEN_KEY = "project_good_token";
export function getToken() {
@@ -182,7 +184,7 @@ export const api = {
// Zeitstempel im Dateinamen, sonst heissen mehrere Ausleitungen alle gleich.
exportCsv: () => downloadFile("/export/stock.csv", `bestand_${zeitstempel()}.csv`),
exportJson: () =>
downloadFile("/export/backup.json", `project-good-backup_${zeitstempel()}.json`),
downloadFile("/export/backup.json", `vorrania-backup_${zeitstempel()}.json`),
importStock: (file, mode = "add") => {
const fd = new FormData();
fd.append("file", file);

View File

@@ -25,7 +25,7 @@ export default function BrandMark() {
<img
className="brand-logo"
src={brandingUrl("logo")}
alt="Project-Good"
alt="Vorrania"
onError={() => setLogo(false)}
/>
);
@@ -34,7 +34,7 @@ export default function BrandMark() {
return (
<>
<span className="mark"><Icon name="box" size={18} /></span>
Project-Good
Vorrania
</>
);
}