Inspiration
Our group was inspired to create this project after recently learning that there were only two remaining northern white rhinos in the world. Similar to most of the sentiment online, we expressed dismay and sadness regarding the now close-to-extinct species. But, then we posed a question: why had the world just now begun to care? Why had it taken until there were two northern white rhinos left for the species as a whole to garner the level of attention and concern it deserved? We decided to bring awareness to currently endangered species around the world. While there exist databases and other sources of information, we wanted to provide knowledge in a way that would not only educate but also engage, connect, and promote action amongst users. Thus, we were inspired to create BiodiverCity.
What it does
Our app draws from the IUCN Red List of Threatened Species database to provide users with information on endangered species, displaying images, key facts, and related organizations they can donate to. It allows users to register for an account, log in, and engage with the platform by leaving comments on individual species pages, fostering community discussion and knowledge sharing to raise awareness and promote conservation efforts. Our app also stores each user's reviews in their account and allows them to view and share their activity with friends using magic links generated using PropelAuth.
How we built it
This application was built using Flask, MongoDB, PropelAuth and several APIs. The IUCN database was utilized to populate our threatened species. Flask Login was used to register and log in users. MongoDB was used to securely store user credentials and comments such that any user could read comments left by other users on specific species. OpenAI's API was used to generate blurbs about the species. The iNaturalist API was utilized to retrieve accurate images of these species, to provide a visual representation. The Folium and GeoPython dependencies enable creation of a curated map that locates species that users commented on. PropelAuth API was used to enable users to share their activity with friends using magic link generation and redirecting them to the route of each users' curated engagement history.
Challenges we ran into
We ran into several challenges using the various APIs for our project. Each needed to be used and called differently to fulfill different functions, and the structure of request and response objects took time to understand. For example, our IUCN database API key was not working despite us following its exact instructions. We spent significant time researching as to why, eventually learning that the database had recently switched versions and could only be accessed using a specific sample key.
Accomplishments that we're proud of
We are proud of our final app, a site with several substantial components, created with the mission to educate, engage, connect, and promote action regarding conservation of endangered species. In addition, we are proud of having worked with several new API such as IUCN, iNaturalist, and PropelAuth. Finally, we are proud of persevering through challenges we faced as a team and coming together to produce a project that we each contributed to significantly.
What we learned
In the process of building our project, we learned the functionalities of IUCN, PropelAuth, and several other API's and how to implement them specifically to suit our purposes, a process that required reading through documentation, doing research, and troubleshooting along the way. We also learned how to best work together as a team, utilizing each of our unique strengths and abilities to take ownership over specific parts of the project and communicating intentionally with each other.
What's next for BiodiverCity
As for what's next, BiodiverCity can be tuned to offer more specific filtering functionalities, better allowing users to learn and engage with specific species they are interested in. It can also expand the amount of information provided to include other databases as well, providing users with more well-rounded understandings.
Log in or sign up for Devpost to join the conversation.