pantry-flutter


Manage your household with your Nextcloud — lists, photos & notes.

Readme

Pantry

A Flutter mobile client for Nextcloud Pantry — household management for your self-hosted Nextcloud.

Features

  • Checklists: Shared checklists with categories, quantities, images, and recurring items.
  • Photo Board: Upload and organize shared photos in folders with captions.
  • Notes Wall: Color-coded shared notes for household reminders.
  • Drag-and-drop reordering everywhere.
  • Multi-select for bulk actions.
  • Offline caching for fast loading.
  • Material Design 3 with dark mode.
  • Self-hosted — connects directly to your own Nextcloud server via Login Flow v2.

Requirements

A Nextcloud server with the Pantry server app installed.

Installation

Google Play

Install from Google Play

Beta testing

Want early access to new features? Join the beta program:

  1. Visit the beta opt-in page on your Android device.
  2. Tap Become a tester.
  3. Install or update Pantry from the Play Store listing — you’ll automatically receive beta builds.

It may take a few minutes for your tester status to propagate.

Manual (APK)

Download the latest APK from the releases page and sideload onto your device.

iOS

[Coming soon — TestFlight]

Development

Prerequisites

  • Flutter (stable channel)
  • Android Studio / Xcode for platform builds
  • A Nextcloud instance with the Pantry server app for testing

Quick Start

make get            # install dependencies
make i18n           # generate i18n code
make run            # run in debug mode

Common Tasks

make analyze        # analyze staged files
make format         # format staged files
make check          # analyze + format check
make test           # run tests

See make help for the full list.

Project Layout

lib/
├─ main.dart               # App entry + theming
├─ models/                 # Data models (Photo, Note, Checklist, etc.)
├─ services/               # API clients, cache, auth
├─ utils/                  # Pure utilities (rrule, icons)
├─ widgets/                # Reusable widgets (recurrence dialog, category picker)
└─ views/
   ├─ checklists/
   ├─ photos/
   ├─ notes/
   ├─ home/
   └─ login/

API

The app consumes the Nextcloud Pantry OCS API. The OpenAPI spec is kept in sync via:

make fetch-openapi

Privacy

Pantry is a self-hosted client. Your data never leaves your Nextcloud server. See the privacy policy for details.

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.

License

This app is licensed under the MIT license.