Skip to content

About

A shopping list app for Nextcloud.

Resources

Stars

17 stars

Watchers

4 watching

Forks

Latest commit

 

History

865 Commits

Folders and files

Repository files navigation

Shopping List

ko-fi

Shopping List Example

A shared shopping list app for Nextcloud. Create multiple lists, categorize items by shop area, and collaborate with your household in real-time.

Official app & website

Shopping List is developed by Otherworld Dev. These are the official links — accept no substitutes:

Get it on Google Play

Features

  • Multiple lists — organize by store, meal plan, or occasion; pin the ones you use most to the top of the sidebar
  • Shop area grouping — items grouped by aisle/department (Produce, Dairy, Bakery, etc.) with color-coded headers; click a header to collapse that area, and each list remembers which areas you folded away. Or sort A to Z, within each area or as one list
  • Inline editing — click any item to edit name or quantity in place
  • Item photos — optionally attach a photo to an item and see a thumbnail in the list; off by default, switch it on in the app's settings
  • Ingredient parsing — paste a recipe ingredient list and items are parsed automatically (e.g. "2 cups flour" splits into quantity and name)
  • Area auto-detection — new items are automatically assigned to a shop area based on configurable keyword mappings
  • Duplicate merging — adding an item that already exists merges the quantities instead of creating duplicates
  • Sharing — share lists with other Nextcloud users or groups with read or write permissions
  • Public share links — share a list via URL without requiring a Nextcloud account, with configurable permissions, optional password protection, and expiry dates
  • Drag-and-drop reordering — reorder items within and across shop area groups
  • Smart area learning — when you manually assign an item to an area, the app remembers for next time
  • Singular/plural matching — "radish" and "radishes" are recognised as the same item
  • Auto-pluralization — item names pluralize automatically when quantity goes above 1
  • Offline mode — data persists locally so the app works without network; changes queue and sync automatically when connectivity returns
  • Real-time sync — changes from other users appear via Nextcloud's notify_push or polling fallback
  • Check off items — tick items as you shop; checked items collapse into a separate section, sorted by area, A to Z, or most recent first
  • Bulk actions — restore all checked items or delete them in one click

Requirements

  • Nextcloud 30 or later
  • PHP 8.1 or later

Installation

From the App Store

Search for Shopping List in your Nextcloud app store and click Install.

Manual installation

  1. Clone this repository and copy the app into your Nextcloud apps/ directory:
    git clone https://github.com/otherworld-dev/Shopping-List.git
    cp -r Shopping-List/shopping_list /path/to/nextcloud/apps/
  2. Install JavaScript dependencies and build:
    cd /path/to/nextcloud/apps/shopping_list
    npm ci
    npm run build
  3. Enable the app:
    php occ app:enable shopping_list

Development

Prerequisites

  • Node.js 20+
  • npm 10+
  • A running Nextcloud development instance

Setup

cd shopping_list
make dev        # install deps + watch mode
make build      # production build
make lint       # run ESLint + Stylelint
make test       # run PHPUnit tests
make appstore   # build release tarball

Or without Make:

cd shopping_list
npm ci
npm run dev     # watch mode
npm run build   # production build

Project structure

shopping_list/        The Nextcloud app
  appinfo/            App metadata and routes
  lib/                PHP backend (controllers, services, mappers, migrations)
  src/                Vue 3 + TypeScript frontend
    components/       Vue components
    composables/      API client, push notifications
    stores/           Pinia state management
    types/            TypeScript interfaces
  templates/          Server-side entry point
screenshots/          App store screenshots

Translations

Translations are managed on Crowdin — no coding required. You can translate the UI, the grocery keywords that drive automatic shop-area sorting, and measurement units, all in the browser.

The Android app's text is translated in the same project. Crowdin works on a copy of it kept in android/, and the Android repo copies the translations back before each release.

See TRANSLATING.md for a short, friendly walkthrough.

License

AGPL-3.0-or-later

About

A shopping list app for Nextcloud.

Resources

Stars

17 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages