CSA Admin

Offers you a wide range of features specifically developed for the needs of Community Supported Agriculture.
https://github.com/csa-admin-org/csa-admin

Category: Consumption
Sub Category: Agriculture and Nutrition

Keywords

acp csa managment rails ruby solawi

Keywords from Contributors

optimize archiving transforms measur generic observation compose conversion projection animals

Last synced: about 16 hours ago
JSON representation

Repository metadata

Web application to manage CSA (Community Supported Agriculture), ACP (Agriculture Contractuelle de Proximité) or Solawi (Solidarische Landwirtschaft) organizations.

README.md

CSA/ACP/Solawi Admin

CI
Security
Ruby
Ruby on Rails

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, depot location, quantity, delivery cycle, 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 QR code and SEPA reference numbers
    • automatic payment statement import from bank accounts (EBICS 3.0/H005/BTF, BAS, bunq)
    • overdue notices
  • Activity participation management with member registration forms
  • Transactional email and built-in newsletter system
  • Multilingual 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 the configured request host
    • one isolated SQLite database per tenant
  • Asynchronous jobs handled by Solid Queue and Active Job (SQLite-backed)
  • Transactional emails and newsletters sent via Postmark
  • Tenant-local bank connections for automatic payment imports and EBICS 3.0/H005/BTF uploads; see docs/bank_connections.md for manual console setup

Getting started

Development requirements are managed with Mise 2026.7 or newer. Local development uses puma-dev over HTTPS.

  1. Clone the repository.

  2. Install and activate Mise, then install and configure puma-dev for your system.

  3. Trust the project configuration and bootstrap the application:

    mise trust
    mise bootstrap
    

    This installs libvips and Poppler, the Ruby, Node, and Aube versions declared in mise.toml, then runs bin/setup --skip-server. On Intel macOS, install libvips and Poppler through Homebrew first because Mise's Brew bootstrap supports Apple Silicon only.

  4. Update the generated config/tenant.yml with your admin and member hostnames.

  5. From the repository directory, link the configured base domain to puma-dev. For the sample my-domain.org configuration:

    puma-dev link -n my-domain
    
  6. Open the configured admin_host or members_host, replacing its public top-level domain with .test. For example:

    Use the configured host rather than deriving it from the tenant name: host labels and domains vary between organizations. Admin and member portals have separate authentication contexts. The acme tenant is test-only and is not available for local browser access.

  7. Sign in through the selected tenant's local admin host with an admin email for that tenant.

Development

Useful commands:

  • Bootstrap / refresh the local environment: mise bootstrap or bin/setup --skip-server
  • Update toolchains and dependency lockfiles (bin/update; also syncs Ruby/Herb pins)
  • Run all tests: bin/rails test:all
  • Run final validation (setup, style, security, tests, seeds): bin/ci
  • Run part of the CI workflow declared in config/ci.rb:
    • bin/ci -g style / bin/ci -g security / bin/ci -g tests
    • bin/ci -s "Style: RuboCop" (exact step title; case-insensitive)
    • bin/ci -h for all options
  • Individual linters/formatters remain available (bin/rubocop, bin/locales, bin/herb, …)

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 13 days ago

Total Commits: 4,629
Total Committers: 8
Avg Commits per committer: 578.625
Development Distribution Score (DDS): 0.006

Commits in past year: 1,184
Committers in past year: 2
Avg Commits per committer in past year: 592.0
Development Distribution Score (DDS) in past year: 0.001

Name Email Commits
Thibaud Guillaume-Gentil t****d@t****g 4599
dependabot[bot] 4****] 10
Moritz Orbach s****i@a****t 8
videolmo 8****o 4
Manuel Rast m****t@i****h 4
Fred Radeff f****f@a****h 2
Olivier Amblet o****t@p****m 1
Marco Roth m****h@i****h 1

Committer domains:


Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 75
Total pull requests: 55
Average time to close issues: 3 months
Average time to close pull requests: 5 days
Total issue authors: 8
Total pull request authors: 7
Average comments per issue: 1.47
Average comments per pull request: 0.55
Merged pull request: 31
Bot issues: 0
Bot pull requests: 32

Past year issues: 5
Past year pull requests: 3
Past year average time to close issues: 27 days
Past year average time to close pull requests: 17 days
Past year issue authors: 2
Past year pull request authors: 2
Past year average comments per issue: 0.8
Past year average comments per pull request: 1.0
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/csa-admin-org/csa-admin

Top Issue Authors

  • thibaudgg (62)
  • NealDill (4)
  • secretariatldc (3)
  • PatriciaCocagne (2)
  • leokraemer (1)
  • oliamb (1)
  • Alex77825 (1)
  • WildeRauke (1)

Top Pull Request Authors

  • dependabot[bot] (32)
  • thibaudgg (13)
  • videolmo (4)
  • zpartakov (2)
  • mrast (2)
  • oliamb (1)
  • marcoroth (1)

Top Issue Labels

  • Cocagne (7)
  • Lumière des Champs (3)
  • TaPatate! (3)
  • P2R (2)
  • Touvière (2)
  • CulturesLocales (1)
  • Les Paniers de la Mule (1)
  • AlpGrava (1)
  • Potagers de Gaia (1)
  • Rage de Vert (1)
  • Fairdura (1)
  • Grundnahrig (1)

Top Pull Request Labels

  • ruby (6)
  • dependencies (6)

Package metadata

proxy.golang.org: github.com/csa-admin-org/csa-admin

  • Homepage:
  • Status: removed
  • Documentation: https://pkg.go.dev/github.com/csa-admin-org/csa-admin#section-documentation
  • Licenses: other
  • Latest release: v0.0.0-20260811165538-5f11f2d1124b (published 7 days ago)
  • Last Synced: 2026-08-16T20:06:50.063Z (1 day ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 4.494%
    • Average: 4.645%
    • Dependent repos count: 4.796%

Dependencies

Gemfile rubygems
  • bullet >= 0 development
  • byebug >= 0 development
  • capybara >= 0 development
  • capybara-email >= 0 development
  • dotenv-rails >= 0 development
  • factory_bot_rails >= 0 development
  • faker >= 0 development
  • launchy >= 0 development
  • letter_opener >= 0 development
  • listen >= 0 development
  • pdf-inspector >= 0 development
  • rspec-rails >= 0 development
  • super_diff >= 0 development
  • web-console >= 0 development
  • activeadmin >= 0
  • aws-sdk-s3 >= 0
  • barnes >= 0
  • bcrypt >= 0
  • bootsnap >= 0
  • camt_parser >= 0
  • cancancan >= 0
  • cld >= 0
  • countries >= 0
  • date_validator >= 0
  • epics >= 0
  • faraday >= 0
  • faraday-cookie_jar >= 0
  • gibbon >= 0
  • i18n >= 0
  • i18n-backend-side_by_side >= 0
  • icalendar >= 0
  • image_processing >= 0
  • importmap-rails >= 0
  • inline_svg >= 0
  • invisible_captcha >= 0
  • kramdown >= 0
  • liquid >= 0
  • lograge >= 0
  • matrix >= 0
  • mini_magick >= 0
  • nokogiri >= 0
  • pg >= 0
  • phony_rails >= 0
  • postmark-rails >= 0
  • prawn >= 0
  • prawn-table >= 0
  • premailer-rails >= 0
  • public_suffix >= 0
  • puma >= 0
  • rack-cors >= 0
  • rack-status >= 0
  • rails ~> 7.0.3
  • rails-i18n >= 0
  • redis >= 0
  • rexml >= 0
  • rqrcode >= 0
  • rubyXL >= 0
  • sentry-rails >= 0
  • sentry-ruby >= 0
  • sentry-sidekiq >= 0
  • sidekiq >= 0
  • sidekiq-scheduler >= 0
  • simple_form >= 0
  • slim >= 0
  • sprockets-rails >= 0
  • stimulus-rails >= 0
  • tailwindcss-rails >= 0
  • tod >= 0
  • turbo-rails >= 0
  • turbolinks >= 0
Gemfile.lock rubygems
  • 187 dependencies
.github/workflows/ci.yml actions
  • actions/checkout v6 composite
  • github/codeql-action/upload-sarif v4 composite
  • jdx/mise-action v4 composite
  • speedshop/ids_must_be_indexed v1 composite
.github/workflows/security.yml actions
  • actions/checkout v5 composite
  • github/codeql-action/upload-sarif v4 composite
  • ruby/setup-ruby v1 composite
Dockerfile docker
  • base latest build
  • docker.io/library/ruby $RUBY_VERSION-slim build
package.json npm
  • @herb-tools/formatter ^0.8.2 development
  • @herb-tools/linter ^0.8.2 development
  • prettier ^3.6.2 development
  • prettier-plugin-tailwindcss ^0.6.14 development

Score: -Infinity