shahondin1624 eb555a2fbd feat: add consistent rows-per-page setting to all display tables
Add shared PaginationControls component and usePageSize/useClientPagination
composables so every list view has a configurable "Zeilen pro Seite" dropdown
(10/20/50/100) persisted per table to localStorage. Also fix MemberController
returning paginated count instead of true total when no filters are active.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:10:05 +02:00
2026-04-07 21:46:41 +02:00
2026-04-07 21:46:41 +02:00

Mitgliederverwaltung

A Nextcloud app for managing members, families, fees, camps and more for scouting associations (Pfadfindervereine). Integrates with Nextcloud Calendar, Contacts and Files.

Prerequisites

  • Docker & Docker Compose
  • Node.js (for building the frontend)

Quick Start

# 1. Create your .env from the example and adjust passwords
cp .env.example .env

# 2. Build frontend + vendor deps, start containers, install Nextcloud, enable app
make deploy

Nextcloud will be available at http://localhost:8080. Log in with the NEXTCLOUD_ADMIN_USER / NEXTCLOUD_ADMIN_PASSWORD from your .env.

Make Targets

Target Description
make deploy Full first-time setup: install deps, build frontend, start containers, install Nextcloud, copy & enable app
make redeploy Rebuild frontend and re-copy the app into a running Nextcloud (use after code changes)
make build Install deps and build the frontend (production)
make deps Install npm and Composer dependencies only
make up Start containers in the background
make down Stop containers
make logs Tail Nextcloud container logs
make clean Stop containers and delete all volumes (full reset)
make package Build and create a distributable tar.gz (optionally Ed25519-signed)
make release Package, tag, and upload as a Gitea release

Production Installation

To install on an existing Nextcloud 28+ instance (without Docker):

  1. Download the latest release tarball from the Releases page, or build it yourself with make package
  2. Extract into your Nextcloud custom_apps directory:
    tar -xzf mitgliederverwaltung-*.tar.gz -C /path/to/nextcloud/custom_apps/
    chown -R www-data:www-data /path/to/nextcloud/custom_apps/mitgliederverwaltung
    
  3. Enable the app:
    sudo -u www-data php /path/to/nextcloud/occ app:enable mitgliederverwaltung
    

Development Workflow

After the initial make deploy, the typical cycle is:

# Watch for frontend changes (auto-rebuilds on save)
npm run watch

# After changes, copy the rebuilt app into the running container
make redeploy

npm Scripts

Script Description
npm run build Production webpack build
npm run dev Development webpack build (once)
npm run watch Development build with file watching

Environment Variables

Copy .env.example to .env and set your values:

Variable Description
MYSQL_ROOT_PASSWORD MariaDB root password
MYSQL_DATABASE Database name (default: nextcloud)
MYSQL_USER Database user (default: nextcloud)
MYSQL_PASSWORD Database user password
NEXTCLOUD_ADMIN_USER Nextcloud admin username
NEXTCLOUD_ADMIN_PASSWORD Nextcloud admin password

Architecture

  • Backend: PHP (Nextcloud app framework), served by Nextcloud 28 (Apache)
  • Frontend: Vue 3 + Pinia + Vue Router, using @nextcloud/vue components
  • Database: MariaDB 10.11
  • Build: Webpack 5, Babel, Sass

License

AGPL

S
Description
Nextcloud app for managing scout group (Pfadfinderverein) members — member data, families, fees, camps, and Nextcloud integrations
Readme 3.1 MiB
v0.5.2 Latest
2026-04-22 20:28:09 +02:00
Languages
PHP 80.6%
Vue 14%
JavaScript 4.2%
Python 0.6%
Makefile 0.6%