project-proposal-2025

AgriMarket Live

Abstract

Farmers’ markets are a great idea that everyone can get behind - a wider variety of fresh produce at better prices than supermarkets. So why don’t these places see more foot traffic? They lack convenience. To get your hands on the best produce as a buyer, you have to be physically present - often during early hours of the morning and at locations far from home. Farmers also face challenges - with sunk costs to transport their produce, only to have factors like weather or weak demand ruin their efforts.

To address this, AgriMarket Live is a platform to directly connect farmers and buyers - an online farmers’ market with trading-style purchasing to enhance market efficiency and fairness. With real-time bidding mechanisms, the platform ensures transparent price discovery - farmers receive competitive prices while reducing barriers to access for buyers. For farmers and buyers alike, AgriMarket Live is accessible through web interfaces as a cloud-based platform.

Author

Name: Nicholas Chang

Student number: 46935285

Functionality

The platform works like a stock exchange - instead of trading stocks, fresh produce is bought (by shoppers) and sold (by farmers). Market participants and inventory will be closely tracked while payments should be settled securely. Fulfilling and dispatching orders is also a requirement.

These broad requirements can be captured by the following features:

Scope

To achieve a minimum viable product (MVP), AgriMarket Live will only implement services that are essential for trading produce and fulfilling orders:

Quality Attributes

Interoperability
Interoperability is how well different systems and components exchange data through well-defined interfaces and protocols. For AgriMarket Live, there is high volumes of communication between internal services - using asynchronous messaging within a publish-subscribe (pub/sub) architecture. There will also be external integration with third-party logistics (3PL) providers and payment gateways.

Good interoperability ensures smooth operations - from settling payment transactions to fulfilling and dispatching orders. It is important because efficient coordination among internal services and external providers directly impacts the accuracy of orders, timely delivery, and overall customer satisfaction.

Reliability
To be reliable, a system must consistently deliver its intended functionality without failures or severe degradation. In the context of AgriMarket Live, reliability ensures that all market participants receive accurate pricing information - enabling fair and efficient price discovery.

Reliability is paramount because downtime or pricing data inaccuracies will lead to reputational damage - stemming from financial losses for market participants.

Scalability
Scalability measures if a system efficiently handles increasing volumes of data, user traffic or transactions by dynamically allocating resources. Scalability ensures optimal performance during periods of high activity, such as peak harvesting seasons or special events.

For AgriMarket Live, scalability is vital due to varying user activity levels throughout the year. Modular components that support horizontal scaling will allow the system to dynamically increase or decrease resources for consistent user experiences. Scalability is crucial because poor performance or pricing delays during peak seasons will result in dissatisfied users.

Security
Security refers to protecting systems, data, and user privacy from unauthorised access, breaches, and malicious activities. Given that there will be payment transactions involving personally identifiable information (PII), robust security measures are important.

Secure authentication and compliance with data protection standards (e.g., PCI DSS) will mitigate the numerous attack vectors that could show up in such a large system. Effective security is essential to build user trust, maintain regulatory compliance, and ensure the integrity of financial transactions on the platform.

Evaluation

Interoperability
This is evaluated by how effectively internal services communicate within the pub/sub architecture. The goal is to have 0% data loss between internal services when communicating asynchronously through message queues. Testing will verify seamless integration with external third-party logistics (3PL) providers and payment providers, with metrics focusing on the accuracy and consistency of data exchanges during typical transaction scenarios. There should be 0% error rate when invoking external services through their APIs.

Reliability
There will be simulations of market opening hours that link to payment settlement and product fulfillment. The platform will be evaluated on its ability to match buyers and sellers correctly, and its ability to perform settlement and dispatch. Another evaluation metric is downtime length and frequency - when particular users cannot access the marketplace for browsing or bidding.

Striving for an uptime of 99% during open trading hours will minimise reputational harm - with downtime for maintenance being acceptable when the market is closed for trading. If 3PL providers or payment providers experience errors, the platform must correctly handle these exceptions and provide appropriate feedback to users - there should be a 0% error rate when it comes to invoking these external services through their APIs.

Scalability
Scaalability will be assessed using the K6 framework - simulating higher than expected levels of user traffic during testing. Specifically, Apache JMeter will be used to simulate a large number of concurrent users placing bids and asks on the platform. Resource utilisation during peak load tests should not exceeed 75% of the system’s capacity. The platform should also be able to handle a 200% increase in user traffic within 15 minutes - without significant performance degradation. User response times should remain within 1000ms given the need for real-time updates.

Security
Security evaluation will involve vulnerability assessments to identify and mitigate potential threats. Compliance audits using data protection standards (e.g., PCI DSS) will also be conducted to ensure robust authentication mechanisms and secure handling of personally identifiable information. Ideally, there should only be low-severity vulnerabilities detected, while patches for vulnerabilities should be rolled out within a couple of hours by an on-call run team.