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.
- 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.
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.
- 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
-
Clone the repository
-
Copy
config/tenant.yml.exampletoconfig/tenant.ymland update your admin/member hostnames -
Install dependencies, prepare and seed databases:
bin/setup -
Set up local subdomains (recommended: puma-dev) to access:
-
Sign in to the admin with your email (for example
admin@my-domain.test)
Useful commands:
- Run all tests:
bin/rails test:all - Check linting:
bin/rails lint:check - Auto-fix linting issues:
bin/rails lint:autocorrect
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.
- Thibaud Guillaume-Gentil (info@csa-admin.org)
For demos, support, or custom feature requests, contact me.
CSA/ACP/Solawi Admin is released under the O’Saasy License.