As executives for a startup called ReFill, two of the four members take convenience very seriously. They wanted to create another product, fast, which can allow for the general public to interpret scary-looking data at their fingertips.
What it does
It is a Discord Bot that takes
.csv files and returns a visual representation after it has gone through Dropbase's system and its api.
How I built it
We built it around Dropbase's API using python, along with the necessary libraries, including but not limited to, matplotlib and geoplotlib.
Challenges I ran into
None of us had worked with APIs before; hence it was the first time anyone was working with APIs. At first we had trouble figuring out how to work it but we finally made it work. Another problem we had was that we weren't familiar with any of the libraries we were dealing with. This made it slower for us to progress as it meant that we had to learn the libraries as we went on. We also had a lot of tiny problems, ranging from spaces and bad indents causing problems to the bot not accepting files at one point.
Accomplishments that I'm proud of
Using the Dropbase API to quickly validate data schema, and upload them to a centralized database, from our view was a huge success as we didn't have any idea on how to execute before we started to having a fully functional one in less than 36 hours. Using the PostgREST API we were able to query the data for what we needed to make the graph. Once the endpoint is expanded upon we could support any file schema and the user could simply select which columns they’d like to use for the scales. We are also proud that we were able to create the different map graphs, as it is a step which took us a while to figure out, but we managed it at the end.
What I learned
We learned how to use the Dropbase API and how to use the different plotting libraries which were available in python.
What's next for DisGraph
We think DisGraph will benefit from the generalization of the plotting functions so that it can take .csv files of any number of columns, which will give the bot more functionality to work with.