What is the need / problem
There are a set of problems/needs shared with many users, related to the fact that we don’t have a clean API:
1- A significant number of hubs want to be able to use a POS system to be able to handle on-site sales as a site as OFN online sales and have consistent stock management / accounting / etc. So they need to be able to connect a POS and OFN on product catalog / sales / accounting / etc.
2- Some hubs want to be able to manage seamlessly their accounting and invoicing for sales that happen on the OFN. For that they need to connect with some accounting/invoicing system (like Odoo ERP) on sales.
3- Quite a lot of hubs want their standalone website, so they want to drive their customer in their own UX and graphic design, and just use the OFN features but in their own css.
4- Producers selling via multiple platforms need to be able to share their catalog info with other platform (Data Food Consortium)
5- Hubs sourcing from producers managing their catalog outside of OFN need to be able to easily sell on OFn (Data Food Consortium)
6- Food enterprises wanting to mutualize logistics routes and services need to be able to share planned logistics flows (Data Food Consortium)
7- We want to build an open directory showing all local food systems, producers, etc. with rich filters without having to manually maintain and update it so data of food hubs need to flow through API (Data Food Consortium and open directory project)
8- Am I missing cases?
Who does it impact
Lots of hubs in all instances, and especially potential big actors that can’t use our system, but would give a lift to the OFN if they would!
What is the current impact of this problem
We are loosing some potential big users that would make the financial sustainability of the OFN.
Ex: Alterconso in France (need POS absolutely among other things), Ficos in italy ( a BIG cooperative selling to a large number of buying groups in Sicily and Europe and using Odoo to manage their product catalog and accounting, invoicing, etc.), VillageCenter in Germany want their standalone website, Micromarché in France is one of our main user and need a POS Asap, Rob for BawBaw has done some script to connect some Odoo POS already because he needed it, etc.
What is the benefit in focusing on this
- Making the OFN a sustainable project by serving not only small actors but also bigger/more structured ones who are more able to financially support it.
- Enable us to scale up the impact and usability of OFN in various cases
- Give more flexibilty for food enterprises on how they use the OFN, adapt it to THEIR specific need
- Enable integration that would help food enterprises to be more efficient, and them more resilient and sustainable
- Increase the possible outreach of the OFN
Links to more details
- Road map for OFN's API?
- Representing Resources via API
- Breaking OFN down into Domains
- How we build web pages: rails views vs angular templates
- The future of OFN in a distributed web environment
- Standalone websites plugged on public instances: how would that work?
- New frontend framework such as Angular/React/Vue/etc?
- Towards a microservice architecture?
- Connecting food cooperatives
- Integration strategies and tech solutions
- Mobile Strategy Pt 2: Standalone - Embedded / API
- example of what an OFN API issue will look like: https://github.com/openfoodfoundation/openfoodnetwork/issues/2524
Potential solutions that will solve this problem
First feature candidate is to build a clean and clear API and use it ourselves for our own frontend (so we would ourselves be a standalone website, but others could make different ones)
A direction to go there could be:
A - modularize the rails app (Breaking OFN down into Domains)
B - organize the way we grow the API (Road map for OFN's API?)
C - and both 1. grow the api and 2. decouple the website with this option 3: How we build web pages: rails views vs angular templates (edited)