Video details

A tool for Community Supported Agriculture (CSA) management, OpenOlitor


by Mikel Cordovilla
At: FOSDEM 2020
OpenOlitor is a SaaS open-source tool facilitating the organization and management of CSAs (Community Supported Agriculture) communities. This tool covers a large spectrum of functionalities needed for CSAs such as member management, emailing, invoicing, share planning and delivery, absence scheduling, etc. This software is organized and monitored by an international community that promotes the tool, helps operate it and support the interested communities. In order to promote the sustainability of the tool and this international community an organization based on CSS (Community Supported Software) has been proposed. ❮h1❯1 - Introduction❮/h1❯
The Community Supported Agriculture movement has grown considerably the last few years proposing a new model of food production and distribution. CSA initiatives connect producers and consumers directly. The consumer receives a basket of locally produced, fresh products on a subscription basis. Risk is shared among all participants of the community, independently of being a consumer or producer. The growing popularity of the CSA model has lead to larger sized communities. Consequently, the management effort for this organizations is becoming unaffordable on a volunteer basis. In such conditions a software helping with the redundant tasks, and connecting all participants of these communities, can be particularly supportive. The main motivations for the creation of OpenOlitor (OO) are to attend to the growing popularity of the CSA model with the aim of keeping the model economically viable and sustainable by reducing management task time investment through building software which facilitates easy organization.
❮h1❯2 - OpenOlitor❮/h1❯
OpenOlitor is a web-based, open source tool facilitating the organization and management of CSAs (Community Supported Agriculture) communities. This tool is composed of two different access points:
❮ul❯ ❮li❯The participant console: any member holding one or more subscriptions, has an access to this console. This displays basic information about next subscription, products that will be delivered, absences, etc.❮/li❯ ❮li❯The admin console: only defined administrators can access this console. All the community management tools are available from this portal. Please, refer to the next subsection for a detailed list of functionalities.❮/li❯ ❮/ul❯
❮h2❯2.1 - Functionalities
OpenOlitor (OO) covers the main functionalities CSAs need:❮/h2❯
❮ul❯ ❮li❯Members and people management: OO allows the management of all the current members, historical members or interested individuals. A member can be composed of multiple people. Basic information is required for every member, such us contact information, details of payment, etc.❮/li❯ ❮li❯Subscription types: A member receives one or several baskets (also called shares) of products periodically. Different types of baskets are allowed. Types are defined by the community and may include delivery type, pickup or frequency, for example;❮/li❯ ❮li❯Subscription management: A member can be subscribed to one or several subscriptions;❮/li❯ ❮li❯Delivery management: Deliveries are prepared by the administrators. As a result shares will be created where subscriptions, delivery types, prices are calculated automatically;❮/li❯ ❮li❯Billing: Automatic invoices are created for every member;❮/li❯ ❮li❯Participatory task management: Some CSAs require a certain community work hours in order to be part of the community. OO can track this information and publish available tasks to the members;❮/li❯ ❮li❯Absence management: Members can feed the system their pickup absences that would be taken into account automatically;❮/li❯ ❮li❯Product/producer management: A CSA can have one or multiple producers and each producer can have one or more products. This information can be used for billing purposes or basket shaping purposes;❮/li❯ ❮li❯Emailing: an integrated emailing functionality is provided for some of the modules already explained. This allows administrators to easily mail information to the participants, such as invoices, general announcements, etc.❮/li❯ ❮li❯Payment management: SEPA and ESR payment work-flows are integrated;❮/li❯ ❮/ul❯
❮h2❯2.2 - Basic architecture❮/h2❯
The OO platform is divided in back-end and front-end:
❮ul❯ ❮li❯Front-end: The front-end is a Web-Application (AngularJS) accessible from any browser. A front-end application is dedicated to every CSA. The code is accessible publicly in Github:❮/li❯ ❮li❯Administration portal (❮/li❯ ❮li❯Members portal ( ❮/li❯ ❮li❯Back-end: Programmed in Scala using the Akka library for concurrency and distributed systems. A single server can be shared among multiple initiatives. The code is published on Github. Even if the server can be shared…