Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Standalone Backend for Trace Mobile App: Serve as a backend for the Trace mobile app, allowing users to deploy their own cloud-based instances of the app independently of the main Trace system. This will include the configurations like premium payments and access control.

  2. Data Synchronisation: Guarantee smooth data synchronization between the Trace mobile app, Trace system, and other external systems, enabling effortless two-way data transfer. Enable the easy import of data from external sources into Trace, as well as the efficient export of data from Trace to external systems, to ensure a fluid exchange of data throughout the ecosystem.

  3. Integration Hub: Act as a central integration hub, facilitating the exchange of data between external systems and ERPs with Trace through APIs and the Connect SDK.

  4. Additional Data Collection Agent: Enable the Trace app to support the creation of new or extra fields for data gathering purposes. While Connect will function as a data collection agent, focusing mainly on basic farmer data and transactions, it is not intended for use as a survey instrument. However, it can serve as a central point for integrating additional data from various systems.

  5. Modular and Scalable:Design the system to be modular and scalable, allowing for future expansion and integration with evolving technologies and requirements.

System Architecture 

We have designed the connect server to  run as a standalone system so that anyone can host it and connect the tracd mobile app to it. The app can be used to collect the data from filed and then the server can be synced the other systems including trace server. Also we open the same apis used by the connect mobile app so it can serve its dual purpose. The data can be fed to the connect either from the mobile app or your erp solution. Similarly the data can be pulled out form it either to trace or any erp system. 

...

The TraceConnect server architecture comprises a Django-based server application that serves as the central hub for seamless data processing and management. It integrates with both PostgreSQL for structured data and MongoDB for unstructured data storage. Through APIs, it establishes connections with the Trace mobile app and external applications, implementing OAuth for external applications and JWT for the Trace mobile app's secure authentication. Furthermore, it features a user-friendly interface for manual data export, offering users flexibility and control over data management processes.

Trace communicates with the Connect using a shared SDK, which also serves as a bridge to connect with external ERP systems. When generating OAuth credentials, users have the flexibility to configure different scopes according to their specific requirements.

...

Core Modules

The core modules of TraceConnect primarily revolve around companies, farmers, their transactions, and the customization of data connections for the Trace mobile app. Here are the key core modules:

  1. Authentication (Auth): This pivotal module is responsible for user management and access control within TraceConnect. It empowers administrators to define and manage user roles and permissions, ensuring that users have the appropriate level of access to the system's features. In addition to handling internal user authentication, the Auth module plays a crucial role in managing OAuth connections for external services. This includes the secure integration of external applications and services, enhancing the overall security and functionality of TraceConnect.

  2. Supply Chain: The Supply Chain module serves as the backbone of the system, encompassing the comprehensive management of the supply chain structure. This includes the tracking of companies, farmers, products, and their interconnected relationships. Within this module, the crucial task of managing farmer cards is executed, providing a seamless means of validation during transactions and interactions within the supply chain. The Supply Chain module ensures that all stakeholders are effectively interconnected, contributing to the streamlined flow of goods and information.

  3. Transactions: At the heart of TraceConnect's functionality lies the Transactions module, where all transactions between companies and farmers are meticulously recorded and managed. This encompasses a wide range of activities, including product transactions and the tracking of farmer payments.

  4. Configurations (Configs): The Configurations module is dedicated to tailoring the TraceConnect experience to suit specific requirements. It offers administrators the ability to customize various aspects of the app's functionality. This includes configuring premium settings, allowing for the fine-tuning of features, and controlling user access privileges. Importantly, administrators can make on-the-fly adjustments, such as enabling or disabling the "Buy" feature for specific collectors, ensuring that the system remains agile and adaptable to evolving needs.

  5. Forms: Within the Forms module, administrators can configure custom forms to collect additional data relevant to their specific workflows. These forms provide flexibility and versatility, allowing TraceConnect to capture and process a wide array of data types. Whether it's capturing unique data points or adapting to changing data requirements, this module empowers users to enhance their data-capturing capabilities, ultimately improving the precision and completeness of their records.

High level Database Architecture

...

Data fields

APIs

User flow

Roadmap

  1. November 2023: initial deployment and like it to the mobile app. Also enable sync services 

  2. December 2023: publishing the apis and first open source release 

  3. Jan 2024: publishing apis and external server connection

  4. Feb 2024: enable Trace ssoSSO

  5. May 2024: first python sdk release First Python SDK release 

Standardising data exchange

Data structure 

In the connect data base database structure we focus mainly on two main components, companies and it’s farmers and their transaction. Additionally there are database table to configure and customise the app, set permium payment to farmers and some access control details

...