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:
10
README.md
10
README.md
@@ -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`.
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"'
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Project-Good – Roadmap
|
||||
# Vorrania – Roadmap
|
||||
|
||||
Selfhostbare Lebensmittel-Lagerverwaltung. Aufbau in mehreren Schritten.
|
||||
|
||||
|
||||
@@ -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
4
web/package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "project-good-web",
|
||||
"name": "vorrania-web",
|
||||
"private": true,
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
|
||||
@@ -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 |
@@ -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);
|
||||
|
||||
@@ -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
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user