Désiré Werner Menrath 58836f7af6 feat(lang): Automatische Spracherkennung implementieren
Implementiert die serverseitige Spracherkennung basierend auf dem
Accept-Language-Header des Browsers. Das Backend liefert nun die
index.html-Datei dynamisch mit dem korrekten lang-Attribut aus.

Das Frontend-JavaScript wurde aktualisiert, um das lang-Attribut des
HTML-Dokuments zu berücksichtigen und eine konsistente
Sprachbehandlung zu gewährleisten.

Zusätzlich behebt dieser Commit einen Fehler, bei dem die
Beispiel-Vorschläge nach dem Hinzufügen eines Artikels nicht
ausgeblendet wurden. Außerdem wird die Funktionalität des
"Hinzufügen"-Buttons und der Enter-Taste wiederhergestellt.
2025-10-28 21:41:17 +01:00
2025-10-26 10:33:10 +01:00
2025-10-26 10:22:08 +01:00
2025-10-26 10:22:08 +01:00

Shared Shopping List Web App

About The Project

This project provides a central, self-hosted web application for a family or group to manage a shared shopping list. Any member can easily add items they need, creating a single, always-up-to-date list.

This web service is the final development step for the accompanying Android app. The goal is to allow the app to automatically sync with this web service.

Current Status & Workaround: While direct API integration in the app is still to be completed, the system is already fully functional using notifications. The text sent in the Gotify notification can be copied and pasted 1:1 into the Android app to instantly populate the shopping list.

How to Use

Here is an example docker-compose.yml file:

services:
  shopping-list:
    image: lxtools/noteshop-webapp:latest
    container_name: shopping-list
    restart: always
    ports:
      - "8080:8000" # Host-Port:Container-Port
    volumes:
      # For local development, use a relative path:
      - ./data:/app/data

      # For production, you might use an absolute path like this (choose one):
      # - /opt/containers/sharelist/data:/app/data

    environment:
      # Set the User and Group ID for file permissions.
      # Defaults to 1000 if not specified in your environment.
      - PUID=${PUID:-1000}
      - PGID=${PGID:-1000}
      # Your Gotify URL for notifications. Should be set in a .env file.
      - GOTIFY_URL=${GOTIFY_URL}

First Login

After starting the container for the first time, a default administrator account is created so you can log in.

  • Username: admin
  • Password: admin

Important: For security reasons, please log in and change the default password immediately using the admin panel.

Important Notes

  • User/Group: Set PUID and PGID to your user's ID on the host system. You can find them by running the commands id -u and id -g.
  • Data Directory: Before the first run, create a directory for the database: mkdir data.
  • Running: Start the container with: PUID=$(id -u) PGID=$(id -g) docker compose up -d
Description
A self-hosted web application for managing a shared shopping list within a family or group. Features multi-user access, real-time updates, automatic language detection, Gotify notifications, an intelligent suggestion box, and a flexible deletion password system. Designed as a backend for an upcoming Android app, it currently supports notification-based syncing
Readme GPL-3.0 206 KiB
Languages
HTML 63.9%
Python 34.4%
Dockerfile 1.2%
Shell 0.5%