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.
- Host: GitHub
- URL: https://github.com/csa-admin-org/csa-admin
- Owner: csa-admin-org
- License: other
- Created: 2017-01-21T22:08:39.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2026-08-16T10:21:05.000Z (2 days ago)
- Last Synced: 2026-08-16T12:12:26.910Z (2 days ago)
- Topics: acp, csa, managment, rails, ruby, solawi
- Language: Ruby
- Homepage: https://csa-admin.org
- Size: 39.2 MB
- Stars: 80
- Watchers: 3
- Forks: 22
- Open Issues: 0
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Agents: AGENTS.md
README.md
CSA/ACP/Solawi Admin
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.mdfor manual console setup
Getting started
Development requirements are managed with Mise 2026.7 or newer. Local development uses puma-dev over HTTPS.
-
Clone the repository.
-
Install and activate Mise, then install and configure puma-dev for your system.
-
Trust the project configuration and bootstrap the application:
mise trust mise bootstrapThis installs libvips and Poppler, the Ruby, Node, and Aube versions declared in
mise.toml, then runsbin/setup --skip-server. On Intel macOS, install libvips and Poppler through Homebrew first because Mise's Brew bootstrap supports Apple Silicon only. -
Update the generated
config/tenant.ymlwith your admin and member hostnames. -
From the repository directory, link the configured base domain to puma-dev. For the sample
my-domain.orgconfiguration:puma-dev link -n my-domain -
Open the configured
admin_hostormembers_host, replacing its public top-level domain with.test. For example:admin.ragedevert.ch→ admin.ragedevert.testmembres.ragedevert.ch→ membres.ragedevert.test
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
acmetenant is test-only and is not available for local browser access. -
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 bootstraporbin/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 testsbin/ci -s "Style: RuboCop"(exact step title; case-insensitive)bin/ci -hfor 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
- Thibaud Guillaume-Gentil (info@csa-admin.org)
For demos, support, or custom feature requests, contact me.
License
CSA/ACP/Solawi Admin is released under the O’Saasy License.
Owner metadata
- Name: CSA Admin
- Login: csa-admin-org
- Email: info@csa-admin.org
- Kind: organization
- Description: Web application to administrate CSA (Community Supported Agriculture)
- Website: https://csa-admin.org
- Location: Switzerland
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/174861785?v=4
- Repositories: 1
- Last ynced at: 2024-09-07T09:58:16.975Z
- Profile URL: https://github.com/csa-admin-org
GitHub Events
Total
- Delete event: 5
- Pull request event: 6
- Fork event: 7
- Issues event: 45
- Watch event: 23
- Issue comment event: 38
- Push event: 726
- Pull request review comment event: 3
- Create event: 6
Last Year
- Delete event: 1
- Pull request event: 2
- Fork event: 1
- Issues event: 7
- Watch event: 7
- Issue comment event: 5
- Push event: 321
- Pull request review comment event: 3
- Create event: 2
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 | 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:
- intergga.ch: 1
- pix4d.com: 1
- akademia.ch: 1
- immerda.ch: 1
- apfelboymchen.net: 1
- thibaud.gg: 1
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
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
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
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
- 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
- 187 dependencies
- actions/checkout v6 composite
- github/codeql-action/upload-sarif v4 composite
- jdx/mise-action v4 composite
- speedshop/ids_must_be_indexed v1 composite
- actions/checkout v5 composite
- github/codeql-action/upload-sarif v4 composite
- ruby/setup-ruby v1 composite
- base latest build
- docker.io/library/ruby $RUBY_VERSION-slim build
- @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