...
Company Setup: To establish your presence within the system, the initial step involves creating your company account. As elucidated in the earlier sections, the entire data structure centers around the concept of 'companies,' forming the core of your data ecosystem.
Configurations: Once your company account is in place, you can proceed with essential configurations. This includes adding the specific products you intend to collect using the application. Additionally, you can designate and onboard collectors or users under your company who will utilize the app. Within the app's configuration section, you gain the flexibility to define various parameters. Customize Customise your preferences, such as setting premiums for different product types and enabling distinct functions like buying, selling, and processing farmer payments.
Custom Forms: Tailoring your data collection process is made possible through the custom forms section. Here, you can establish additional data fields and seamlessly link them to existing tables such as 'farmer' and 'transactions.' These newly configured fields will seamlessly integrate into the relevant sections of the mobile app after the next synchronizationsynchronisation. This facilitates efficient data collection in the field, data validation, and data cleansing, particularly when interfacing with external systems. All custom forms are stored in JSON format within the Connect database.
Connect External Systems: The capability to interface with external systems is a valuable asset, whether you aim to export data collected via the app or import data from external sources. To establish these connections, you have the ability to create credentials, specifying the scope based on your specific use case. For instance, you can configure credentials for reading and writing data related to farmers. This functionality extends the utility of the Connect server as an integration agent, allowing you to incorporate multiple data sources and seamlessly channel data into one or more other systems.
App Connection: The process of connecting the mobile app is straightforward. Simply install the mobile application from the Google Play Store, input your server URL, and log in using your collector credentials. The application will seamlessly synchronize synchronise with your server, ensuring that all relevant data is accessible within the app, thereby facilitating efficient data management and collection.
Data Fields
In the context of data gathering, the Connect server is primarily centered on collecting information related to farmers and their transactions. The data fields within this category are divided into two main sections. The first section comprises 'Base Data Fields', which include default fields such as name, address, etc., that are automatically collected in Connect. The second section consists of 'Additional Fields', which are customisable and can be tailored according to specific requirements.
Base farmer fileds
Field | Type | Required | Description |
first_name | char | Yes | First name of the Farmer |
last_name | char | Yes | Last name of the farmer |
street | char | No | Street name |
city | char | yes | City or village |
country | char | yes | Country |
province | char | Yes | Province or State |
post_code | char | No | Postcode |
latitude | float | No | Latitude of the farm location |
longitude | float | No | Longitude of the farm location |
country_code | char | No | Phone Country code |
phone | char | No | Phone or mobile number |
char | No | Email address | |
gender | char | No | Gender of the farmer |
dob | date | No | Date of birth |
house_hold_size | int | No | Number of family members |
description_short | char | No | Short description of farmer |
description_long | char | No | Long description of farmer |
Base Transaction Fields
Field |
APIs
...
Type | Required | Description | |
source_id | char | Yes | Transaction source name or code. In the case of farmer transactions, this can be a global gap number. |
destination_id | char | Yes | Transaction destination name or code |
product_code | char | Yes | Unique product name or code |
quantity | float | Yes | Total transaction quantity |
unit | char | Yes | Product unit |
price | float | No | The total price paid to the farmer |
currency | char | Yes | ISO currency code |
date | date | Yes | Transaction date |
invoice | file | No | Invoice number |
buyer_ref_no | char | No | The number used by the buyer to identify the stock |
seller_ref_no | char | No | The number used by the seller to refer to the stock |
Additional fileds
Companies have the ability to define extra fields related to farmers and transactions on the Connect server. Once these additional fields are set up on the server, they will be incorporated into the app during the subsequent synchronization process. For example, a field named 'Living Income' could be added to the farmer form. Consequently, the next time a collector registers a new farmer, this field will appear in the form. This feature is also beneficial when integrating data from external systems. By specifying the field and its type, the system ensures proper validation.
At present, we accommodate basic data types in these custom fields. However, there is always the potential to broaden this range to cater to different use cases.
Character filed
Number
Date
Latitude
Longitude
APIs
We are still working on publishing our APIs and the detailed documentation. We have implemented the following APIs.
Name | Methode | Description |
List Farmers | GET | |
Create farmer | POST | |
Update farmer | PUT | |
Delete farmer | DELETE | |
List transaction | GET | |
Create transaction | POST |
Roadmap
November 2023: initial deployment and like it to the mobile app. Also, enable sync services
December 2023: publishing the APIs and first open-source release
Jan 2024: Publishing APIs and external server connection
Feb 2024: enable Trace SSO
May 2024: First Python SDK release
Standardising data exchange
Concept
Stand-alone module to handle all the incoming and outgoing data to Trace
It will get connected to the mobile app via APIs and fetch data then sync it to trace
It will also be connected to a system like PTCAN and then send and receive data
It has its own DB and a fronted and possible to self-host
There will be a Python lib to manage all the interactions to the standalone module
ThisPythonn lib is installedon thee trace server and other systems to push and pull data
Users can also do mobile app customizations in the module like custom forms
It handles the transactions and connections from a single company perspective.
Flow
Modules
...
Nodes/companies: Module to manage all the companies/farmers. Each company will have many to many relations for suppliers and buyers (self)
...