shahondin1624 5a3e1c9ef2
Database Portability Tests / Unit Tests (PlatformHelper) (push) Failing after 35s
Database Portability Tests / Integration (mysql) (push) Has been skipped
Database Portability Tests / Integration (postgres) (push) Has been skipped
Database Portability Tests / Integration (sqlite) (push) Has been skipped
Database Portability Tests / Verify no MySQL-specific SQL (push) Successful in 4s
feat: bulk-reveal encrypted Allergien on member list (admin-only) (#198)
2026-04-17 21:58:15 +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%