mirror of
https://github.com/chenasraf/nextcloud-pantry.git
synced 2026-05-17 17:28:01 +00:00
133 lines
5.5 KiB
Markdown
Executable File
133 lines
5.5 KiB
Markdown
Executable File
<!--
|
|
SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
|
SPDX-License-Identifier: CC0-1.0
|
|
-->
|
|
|
|
# Nextcloud Pantry
|
|
|
|
[](https://github.com/chenasraf/nextcloud-pantry/releases/latest)
|
|
[](https://github.com/chenasraf/nextcloud-pantry/actions/workflows/build-npm.yml)
|
|
[](https://github.com/chenasraf/nextcloud-pantry/actions/workflows/lint-php.yml)
|
|
[](https://github.com/chenasraf/nextcloud-pantry/actions/workflows/vitest.yml)
|
|
[](https://github.com/chenasraf/nextcloud-pantry/actions/workflows/phpunit-mysql.yml)
|
|
[](https://github.com/chenasraf/nextcloud-pantry/actions/workflows/phpunit-pgsql.yml)
|
|
|
|
A household management app for Nextcloud — shared checklists, photo boards, and notes, all in one
|
|
place.
|
|
|
|
## Screenshots
|
|
|
|
| | | |
|
|
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
|
|
|  |  |  |
|
|
|
|
## 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.
|
|
- **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.
|
|
|
|
## Mobile Apps
|
|
|
|
- [Android (Google Play)](https://play.google.com/store/apps/details?id=dev.casraf.pantry)
|
|
- [iOS (App Store)](https://apps.apple.com/us/app/pantry-for-nextcloud/id6762161619)
|
|
|
|
## 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](https://github.com/chenasraf/nextcloud-pantry/releases)
|
|
2. Extract to your Nextcloud apps directory:
|
|
|
|
```bash
|
|
cd /path/to/nextcloud/custom_apps
|
|
tar xfv pantry-vX.X.X.tar.gz
|
|
```
|
|
|
|
3. Enable the app from Nextcloud's Apps page or via command line:
|
|
|
|
```bash
|
|
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!
|
|
|
|
<a href='https://ko-fi.com/casraf' target='_blank'>
|
|
<img height='36' style='border:0px;height:36px;'
|
|
src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3'
|
|
alt='Buy Me a Coffee at ko-fi.com' />
|
|
</a>
|
|
|
|
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](https://app.transifex.com/nextcloud/nextcloud/pantry/).
|
|
|
|
For more information about translations, including how to join the Nextcloud project, see
|
|
[Translate Nextcloud](https://nextcloud.com/translation/).
|
|
|
|
Translation resources are synced daily and updates are available on the next release of the app
|
|
after they are synced.
|
|
|
|
## Development
|
|
|
|
### Prerequisites
|
|
|
|
- [pnpm](https://pnpm.io/)
|
|
- [Composer](https://getcomposer.org/) (auto-downloaded if missing)
|
|
- A running Nextcloud instance (Docker recommended)
|
|
|
|
### Quick Start
|
|
|
|
```bash
|
|
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) license.
|