Developing a protoype product for Yagro with Flask and VueJS, with deployment via Kubernetes on AWS
Who are Yagro?
Yagro is an agricultural technology business with a mission to connect agriculture and create a more sustainable farming sector. It offers a variety of commercial management tools designed to help farming become more profitable. Products include YAGRO Analytics, which enables farms to make better business decisions, YAGRO Insurance, which offers insurance for farms and YAGRO Marketplace, which enables farms to order from suppliers in a marketplace with live prices.
The Challenge
Yagro needed to build a trading platform which would allow agricultural companies in South America to buy and sell different products, including fertilisers.
Why Lambert Labs?
Yagro chose to work with Lambert Labs because of our experience of developing software applications using Python and our expertise working with Flask, Django and PostgreSQL.
What We Did
- Created the ability for agricultural companies to make bids for, offers for and trade products, including fertilisers.
- Collaborated with the Head of Engineering to architect and develop a Flask-based API microservice to fit in with Yagro’s existing microservices architecture.
- Designed an appropriate PostgreSQL database schema and used SQLAlchemy combined with Flask-Marshmallow to manage data inside the Flask application.
- Used Alembic to manage database migrations for the Flask application.
- Implemented API endpoints to allow the users of the frontend to create, update and delete bids and offers and make trades.
- Integrated the Flask microservice with a pre-existing Django-based internal API where appropriate.
- Implemented integration tests using pytest.
- Worked closely with the Head of Product to design and develop the front end of the trading platform using Vue.js.
- Implemented translation functionality so that the product can be consumed in multiple languages, including English and Brazilian Portuguese.
- Implemented ‘Watch List’ functionality so that users could ‘watch’ (and receive notifications of activity on) particular bids, offers or trades.
- Presented the trading product to the wider Yagro team on a regular basis.
Impact
The trading platform has now been released and is being used in Brazil.