Nextcloud app for managing your household. Lists, photos and notes, all in one place.
  • PHP 34.2%
  • JavaScript 26.6%
  • Vue 20.4%
  • TypeScript 15.9%
  • MDX 1.9%
  • Other 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nextcloud bot 3f44e613cb
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-11-04 03:14:12 +00:00
.github ci: run every check on every change 2026-09-23 09:38:50 +03:00
.tx feat: rename files/contents 2026-04-05 20:52:02 +03:00
appinfo chore(master): release 0.38.0 2026-10-30 11:15:32 +02:00
composer feat: rename files/contents 2026-04-05 20:52:02 +03:00
gen feat: rename files/contents 2026-04-05 20:52:02 +03:00
img feat(img): add app icon as static favicon and manifest 2026-07-14 09:12:26 +03:00
js Initial commit 2026-04-05 20:48:24 +03:00
l10n fix(l10n): Update translations from Transifex 2026-11-04 03:14:12 +00:00
lib feat(lists): inventories and templates (#321) 2026-10-30 09:44:39 +02:00
screenshots docs: update screenshots 2026-09-24 16:06:17 +03:00
scripts chore(config): declare config lexicon 2026-10-08 00:03:21 +03:00
src fix(lists): refresh scoped categories after duplicating a list 2026-10-30 15:04:24 +02:00
templates fix(settings): remove unused blank admin settings page 2026-05-17 23:08:11 +03:00
tests feat(lists): inventories and templates (#321) 2026-10-30 09:44:39 +02:00
vendor-bin chore(deps): update dependencies 2026-10-31 23:17:04 +02:00
website docs(website): add privacy policy page 2026-10-30 15:00:49 +02:00
.editorconfig Initial commit 2026-04-05 20:48:24 +03:00
.gitignore Initial commit 2026-04-05 20:48:24 +03:00
.l10nignore Initial commit 2026-04-05 20:48:24 +03:00
.php-cs-fixer.dist.php Initial commit 2026-04-05 20:48:24 +03:00
.phpactor.json Initial commit 2026-04-05 20:48:24 +03:00
.prettierignore Initial commit 2026-04-05 20:48:24 +03:00
.prettierrc Initial commit 2026-04-05 20:48:24 +03:00
.release-please-manifest.json chore(master): release 0.38.0 2026-10-30 11:15:32 +02:00
CHANGELOG.md chore(master): release 0.38.0 2026-10-30 11:15:32 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-04-05 20:48:24 +03:00
composer.json chore(psalm): resolve schema types via doctrine/dbal dev-dep and baseline the rest 2026-08-22 01:31:51 +03:00
composer.lock chore(deps): update dependencies 2026-10-31 23:17:04 +02:00
eslint.config.cjs feat: manage categories button/modal 2026-04-10 19:31:43 +03:00
lefthook.yml ci: check OCP symbols against the supported server range 2026-09-23 09:31:01 +03:00
LICENSE Initial commit 2026-04-05 20:48:24 +03:00
Makefile chore(make): always commit update-deps 2026-10-05 23:26:00 +03:00
openapi.json feat(lists): inventories and templates (#321) 2026-10-30 09:44:39 +02:00
package.json chore(deps): update dependencies 2026-10-31 23:17:04 +02:00
pnpm-lock.yaml chore(deps): update dependencies 2026-10-31 23:17:04 +02:00
pnpm-workspace.yaml chore(deps): update dependencies 2026-07-05 10:09:27 +03:00
psalm.xml chore(psalm): suppress lexicon errors on older stubs 2026-10-08 00:21:13 +03:00
README.md docs(website): add privacy policy page 2026-10-30 15:00:49 +02:00
release-please-config.json chore(release): exclude website path from app releases 2026-08-29 00:05:20 +03:00
scaffold.config.cjs Initial commit 2026-04-05 20:48:24 +03:00
tsconfig.app.json feat: home with lists poc 2026-04-05 21:50:17 +03:00
tsconfig.json Initial commit 2026-04-05 20:48:24 +03:00
tsconfig.node.json Initial commit 2026-04-05 20:48:24 +03:00
version.txt chore(master): release 0.38.0 2026-10-30 11:15:32 +02:00
vite.config.ts feat(barcode): EAN/barcode lookup with shared cache and web entry 2026-07-29 23:39:34 +03:00
vitest.config.ts Initial commit 2026-04-05 20:48:24 +03:00

Nextcloud Pantry

GitHub Release Build NPM Lint PHP Frontend Tests PHPUnit MySQL PHPUnit PostgreSQL Discord

A household management app for Nextcloud — shared checklists, photo boards, and notes, all in one place.

Website & documentation: pantry.casraf.dev

Screenshots

Checklist Photo Board Notes Wall
Checklist Photo Board Notes Wall

Features

  • Houses: Group household members and their shared data. A person can belong to multiple houses and switch between them freely.
  • Checklists: Create and manage shared checklists with support for recurring items (e.g. milk every week) that automatically reappear when due.
  • Shopping Mode: Turn your lists into a store-by-store trip — pick the lists and the route, check items off as you walk, see which housemates are out shopping, and finish with a priced review that lands in your shopping history.
  • Barcode Scanning: Prefill an item from a product's EAN or UPC — scan with the camera or type the code in, and Pantry looks up the name, category and photo for you to review.
  • Custom Fields: Attach your own information to checklist items — an expiry date, an aisle number, a size, a yes/no flag — defined once for the house or a single list, with optional reminders on date fields.
  • Photo Boards: Keep shared reference photos organized in folders — the right brand of dog food, a favorite recipe card, a product label, and so on.
  • Notes Wall: A lightweight shared space for household reminders, pinned messages, and quick notes with customizable colors.
  • Notifications: Get notified when household members upload photos, add notes, or edit shared content.
  • Modern UI: Built with Vue 3 and Nextcloud Vue components.

Documentation

Full guides and reference live on the Pantry website:

  • Documentation home — installing the server app, pairing a client, and using every feature.
  • Permissions — how roles and capabilities work, and which action needs which permission.
  • Shopping Mode — start a trip, walk your stores, and finish with a priced review.

Companion Apps

Pantry also has companion apps for mobile and desktop that let you manage your lists, photos and notes on the go and keep everything in sync with your Nextcloud instance.

The apps collect no analytics and keep your data on your Nextcloud server — see the privacy policy.

The repository for the companion apps is here. If you have issues that are specific to the apps and not the core Nextcloud app, please open an issue there.

Installation

From the Nextcloud App Store

Install Pantry directly from your Nextcloud instance through the Apps page.

Manual Installation

  1. Download the latest release from the releases page
  2. Extract to your Nextcloud apps directory:
cd /path/to/nextcloud/custom_apps
tar xfv pantry-vX.X.X.tar.gz
  1. Enable the app from Nextcloud's Apps page or via command line:
php occ app:enable pantry

Contributing

I am developing this app on my free time, so any support, whether code, issues, or just stars is very helpful to sustaining its life. If you are feeling incredibly generous and would like to donate just a small amount to help sustain this project, I would be very very thankful!

Buy Me a Coffee at ko-fi.com

I welcome any issues or pull requests on GitHub. If you find a bug, or would like a new feature, don't hesitate to open an appropriate issue and I will do my best to reply promptly.

Translations

If you're interested in translating this app, please visit the Pantry app resource on Transifex.

For more information about translations, including how to join the Nextcloud project, see Translate Nextcloud.

Translation resources are synced daily and updates are available on the next release of the app after they are synced.

Development

Prerequisites

  • pnpm
  • Composer (auto-downloaded if missing)
  • A running Nextcloud instance (Docker recommended)

Quick Start

make build       # install PHP+JS deps and build
pnpm dev         # start watching for frontend changes
make test        # run PHP tests
pnpm test        # run frontend tests
make lint        # lint JS + PHP

Project Layout

.
├─ appinfo/          # App metadata & registration (info.xml, routes.php)
├─ lib/              # PHP backend (PSR-4: OCA\Pantry\…)
│  ├─ Controller/    # API endpoints
│  ├─ Service/       # Business logic
│  ├─ Db/            # Entities & mappers
│  ├─ Migration/     # Database migrations
│  └─ Notification/  # Notification handlers
├─ src/              # Frontend (Vue 3 + Vite + TypeScript)
│  ├─ components/    # Reusable UI components
│  ├─ views/         # Route views
│  ├─ composables/   # Vue composables
│  └─ api/           # API client layer
├─ tests/            # PHPUnit tests
└─ gen/              # Scaffolding templates (pnpm gen)

License

This app is licensed under the AGPL-3.0-or-later license.