CSA/ACP/Solawi Admin

March 7, 2026 · View on GitHub

CSA/ACP/Solawi Admin

Tests Security

CSA/ACP/Solawi Admin is a web application to manage Community Supported Agriculture organizations:

  • CSA (Community Supported Agriculture)
  • ACP (Agriculture Contractuelle de Proximité)
  • Solawi (Solidarische Landwirtschaft)

Learn more on csa-admin.org.

Features

  • Member management (status, contact information, etc.)
  • Membership management (basket size type, depot location, quantity, deliveries, etc.)
  • Basket complements (delivery frequency, quantity, etc.)
  • Online grocery store for additional product orders
  • Advanced delivery cycle management (every two weeks, winter/summer, etc.)
  • Basket content management (harvest-based quantity calculations, price monitoring, etc.)
  • Bidding rounds for solidarity-based basket pricing (member pledges with min/max bounds)
  • Automatic invoicing:
    • memberships
    • membership shares / annual fees
    • invoice dispatch with reference numbers (QR-Code, SEPA)
    • automatic payment statement import from bank account (EBICS)
    • overdue notices
  • Activity participation management with member registration forms
  • Advanced email and built-in newsletters system
  • Multi-language support (en, fr, de, it, nl)

Need a demo or a specific feature? Contact me.

Organizations

This application is currently used by more than 30 organizations in Switzerland, Germany, and the Netherlands, and manages more than 140,000 basket deliveries per year.

Technical overview

  • Built with Ruby on Rails
  • Multi-tenant architecture:
    • tenant resolved from request subdomain
    • one isolated SQLite database per tenant
  • Asynchronous jobs handled by SolidQueue/ActiveJob (SQLite-backed)
  • Transactional emails and newsletters sent via Postmark

Getting started

  1. Clone the repository

  2. Copy config/tenant.yml.example to config/tenant.yml and update your admin/member hostnames

  3. Install dependencies, prepare and seed databases:

    bin/setup

  4. Set up local subdomains (recommended: puma-dev) to access:

  5. Sign in to the admin with your email (for example admin@my-domain.test)

Development

Useful commands:

  • Run all tests: bin/rails test:all
  • Check linting: bin/rails lint:check
  • Auto-fix linting issues: bin/rails lint:autocorrect

Contributing

Contributions are welcome.

Before starting substantial work (new feature, larger refactor), please contact me first so we can align on scope and implementation.

For smaller fixes and improvements, feel free to open a pull request.

Support

For demos, support, or custom feature requests, contact me.

License

CSA/ACP/Solawi Admin is released under the O’Saasy License.