Skip to content

Commit 0ee528d

Browse files
committed
Improve README structure and content for better onboarding and contributions
1 parent 022bebf commit 0ee528d

1 file changed

Lines changed: 51 additions & 25 deletions

File tree

README.md

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,56 +6,82 @@
66

77
[![Tests](https://github.com/csa-admin-org/csa-admin/actions/workflows/tests.yml/badge.svg)](https://github.com/csa-admin-org/csa-admin/actions/workflows/tests.yml) [![Security](https://github.com/csa-admin-org/csa-admin/actions/workflows/security.yml/badge.svg)](https://github.com/csa-admin-org/csa-admin/actions/workflows/security.yml)
88

9-
Web application to manage CSA (Community Supported Agriculture), ACP (Agriculture Contractuelle de Proximité), or Solawi (Solidarische Landwirtschaft) organizations.
9+
CSA/ACP/Solawi Admin is a web application to manage Community Supported Agriculture organizations:
10+
- **CSA** (Community Supported Agriculture)
11+
- **ACP** (Agriculture Contractuelle de Proximité)
12+
- **Solawi** (Solidarische Landwirtschaft)
1013

1114
Learn more on [csa-admin.org](https://csa-admin.org).
1215

1316
## Features
1417

15-
Functions currently supported include:
16-
1718
- Member management (status, contact information, etc.)
1819
- Membership management (basket size type, depot location, quantity, deliveries, etc.)
1920
- Basket complements (delivery frequency, quantity, etc.)
20-
- Online grocery store to allow members to order additional products
21+
- Online grocery store for additional product orders
2122
- Advanced delivery cycle management (every two weeks, winter/summer, etc.)
22-
- Basket content management (calculation of quantities according to harvests, price monitoring, etc.)
23-
- Automatic invoicing of memberships, creation and dispatch of invoices with reference numbers (QR-Code), automatic payment statements import from bank account (EBICS), overdue notice, etc.
24-
- Automatic invoicing of membership shares or annual fees
25-
- Activity participation management, with registration form for your members
23+
- Basket content management (harvest-based quantity calculations, price monitoring, etc.)
24+
- Bidding rounds for solidarity-based basket pricing (member pledges with min/max bounds)
25+
- Automatic invoicing:
26+
- memberships
27+
- membership shares / annual fees
28+
- invoice dispatch with reference numbers (QR-Code, SEPA)
29+
- automatic payment statement import from bank account (EBICS)
30+
- overdue notices
31+
- Activity participation management with member registration forms
2632
- Advanced email and built-in newsletters system
27-
- Multi-language support (English/French/German/Italian)
28-
- And more... please [contact me](mailto:info@csa-admin.org) for a demo.
33+
- Multi-language support (**en, fr, de, it, nl**)
2934

30-
Other features can be added as required, please [contact me](mailto:info@csa-admin.org) for more information.
35+
Need a demo or a specific feature? [Contact me](mailto:info@csa-admin.org).
3136

3237
## Organizations
3338

34-
This application is currently used by [more than 30 organizations](https://csa-admin.org/#organizations) in Switzerland and Germany, and manages more than 100,000 basket deliveries per year.
39+
This application is currently used by [more than 30 organizations](https://csa-admin.org/#organizations) in Switzerland, Germany, and the Netherlands, and manages more than 140,000 basket deliveries per year.
3540

36-
## Technical details
41+
## Technical overview
3742

38-
- This application is built with Ruby on Rails and uses SQLite as databases.
39-
- Asynchronous jobs are handled by SolidQueue/ActiveJob and are backed by SQLite.
40-
- Transactional emails and newsletters are sent using the Postmark service.
43+
- Built with Ruby on Rails
44+
- Multi-tenant architecture:
45+
- tenant resolved from request subdomain
46+
- one isolated SQLite database per tenant
47+
- Asynchronous jobs handled by SolidQueue/ActiveJob (SQLite-backed)
48+
- Transactional emails and newsletters sent via Postmark
4149

4250
## Getting started
4351

44-
- Clone the repository locally
45-
- Copy `config/tenant.yml.example` to `config/tenant.yml` and update your admin and members hostnames
46-
- Install dependencies, prepare and seed the database: `bin/setup`
47-
- Set up local subdomains (I recommend [puma-dev](https://github.com/puma/puma-dev)) to access [admin.my-domain.test](https://admin.my-domain.test) and [members.my-domain.test](https://members.my-domain.test)
48-
- Login to [the admin](https://admin.my-domain.test) with your email (e.g. `admin@my-domain.org`)
52+
1. Clone the repository
53+
2. Copy `config/tenant.yml.example` to `config/tenant.yml` and update your admin/member hostnames
54+
3. Install dependencies, prepare and seed databases:
4955

50-
## Development and support
56+
`bin/setup`
5157

52-
- Thibaud Guillaume-Gentil ([info@csa-admin.org](mailto:info@csa-admin.org))
58+
4. Set up local subdomains (recommended: [puma-dev](https://github.com/puma/puma-dev)) to access:
59+
- [admin.my-domain.test](https://admin.my-domain.test)
60+
- [members.my-domain.test](https://members.my-domain.test)
61+
62+
5. Sign in to [the admin](https://admin.my-domain.test) with your email (for example `admin@my-domain.test`)
5363

54-
Don't hesitate to [contact me](mailto:info@csa-admin.org) for a demo or more information.
64+
## Development
65+
66+
Useful commands:
67+
68+
- Run all tests: `bin/rails test:all`
69+
- Check linting: `bin/rails lint:check`
70+
- Auto-fix linting issues: `bin/rails lint:autocorrect`
5571

5672
## Contributing
5773

58-
I'm encouraging you to contribute to this project. Please [contact me](mailto:info@csa-admin.org) before starting to work on a feature or a bug fix.
74+
Contributions are welcome.
75+
76+
Before starting substantial work (new feature, larger refactor), please [contact me](mailto:info@csa-admin.org) first so we can align on scope and implementation.
77+
78+
For smaller fixes and improvements, feel free to open a pull request.
79+
80+
## Support
81+
82+
- Thibaud Guillaume-Gentil ([info@csa-admin.org](mailto:info@csa-admin.org))
83+
84+
For demos, support, or custom feature requests, [contact me](mailto:info@csa-admin.org).
5985

6086
## License
6187

0 commit comments

Comments
 (0)