April 1st, 2020

Bogota, Colombia


We want that our farmers and suppliers feel safe and can create reliable connections to gain traction for their sales in both ways. That's why we created Commodoro a web application for coffee farmers where they can share their farms in single exclusive dedicated profile pages in order to connect clients around the world

COMMODORO.CO LAUNCHING WILL BE IN

  • 00

    days

  • 00

    hours

  • 00

    minutes

  • 00

    seconds

Add to My Calendar 2020-05-04 12:00:00 2020-05-04 18:00:00 America/Bogota Launching Commodoro Checkout the website http://www.commodoro.co Commodoro team edwardarmandoortiz@gmail.com

THE TEAM

avatar

Carlos Molano

Full stack engineer / Backend Leader
avatar

Edward Ortiz

Full stack engineer / DevOps Leader
avatar

David Peralta

Full stack engineer / Frontend Leader

TIMELINE

Week 1

Research and Idea definition

Week 2

Stack definition
Whiteboarding entity relationship database
Algorithm design

Week 3

Learning curve of ReactJs and respective frameworks

Week 4

Refactor code
Implementation of single Farm profile page

Week 5

Implementation of Requests synced with Axios-react
Dinamically Post pictures requests

Present

Infrastructure Development
Authentication credentials of Users
Designing Transaction Algorithm

FEATURES

Professional template design

Farmers only need to register and fill up the form. Then, their farm profile will be automatically created and relevant data will be published in a friendly visualization.


Personal Link

Farmers when creating their farm profile, they will have a designated profile

Secure Register

We have token authentication layer of security for safe registry of users


Concurrent Users

More than one user can use in real time Commodoro and edit their farm profile

STACK

ReactJS

JavaScript library to develop the frontend of the web app seeking a better UI/UX

Python

Python is a high-level, general-purpose programming language for develop the backend in order to ensure models management and future decentralized transaction in real-time

Django REST

Framework based in Python for building APIS's. This used to ensure secureness of authentication and management of users registered in the platform

PostgreSQL

Relational database management system emphasizing extensibility and technical standards compliance. Used for secure the scalability of many concurrent users.

Docker

OS-level virtualization platform used to create containers and develop separated and reliable microservices

Kubernetes

Container-orchestration system for automating application deployment, scaling, and management. Used for increase the containerization of the microservices and increase the workload of the database as separate microservice.

CHALLENGES

Serialization

In order to manage larger variables independently and heading for a future implementation of data analytics, we developed a nested multi-layer serialization in our API. Now, it's easier to GET and the integration with components in ReactJS to achieve this, we had to understand complex relationship between models in our DB.

ReactJS

We decided to use ReactJS for their components and capability to handle complex methods without sacrifice UI/UX. However, the paradigm of this library as well as the Hooks and Promises concepts were harder to understand with a python implementation.

POST requests

Implementing a POST request in REACTJS that can manage the multiple layer serialization in our API was a challenge that took 40% of the total project. In order to successfully post the data in the form to the API we had to use AXIOS and transform the input data into keys so the API can receive the data properly.

Deployment

We are currently still staging our infrastructure using Docker and Kubernetes. we know the importance of concurrency task and the traffic can be shut down a platform like Commodoro. Then, we separated our codebase into microservices containerized so a Kubernetes console can handle much better the future traffic and request made by the users. Currently we have our backend and frontend staged in Docker containers and in process of balancing in the Kubernetes console.

WHAT'S NEXT

Commodoro Cocoa, Avocado

One our main goals is to reach many farmers as possible so they can reach more customers and have a fair trade for what they produce. Therefore, we are going to add the feature of register farms from other commodities such as Cocoa and Avocado.

Farm data visualization

We are going to take the data of the farmers to create and improve the visualization of their profile by adding more graphical data visualization of the performance of their farms. This will not only provide more accurate information to clients but also will provide insights of the farm performance for the farmers.

Decentralized transactions ESCROW

We are going to implement a decentralized payment microservice based on ESCROW contracts so farmers and clients have the security of a transaction and delivery of the product. This microservice is going to be built in python

Logistics tracking microservice

To support the scope of the payment microservice, Commodoro is going to implement an API of a Logistics company so the order can be tracked in real time as well as the status of the transaction

Copyright © 2020 Commodoro. All rights reserved

back to top