Inspiration

We encounter animals all the time and we often don't understand the importance of each encounter. Animals may be out of place or displaying irregular traits and behaviors without us knowing. We can contribute to research by documenting our encounters with wildlife, submitting pictures and details about the animal, and researches can benefit by having access to a large database of animal sightings.

What it does

The app allows users to take and upload pictures of animals they encounter. They fill in as much data as they can on the animal as well as where it was sighted, and the information is uploaded to our database. Users can then access and sightings they and other users previously uploaded, as well as view recent sightings in their area. Researchers can then get bulk data from the database to conduct studies.

How we built it

For our first attempt: The back end was built entirely with c++ handling the logic, crow handling http requests, and sqLite for the database. The c++ was essentially a custom API, with the capability of directly handling HTTP requests, receiving and sending back JSON data. Our first attempt had no functioning front end. We were only able to send, receive, and display json data using Curl in the windows CLI.

Our second attempt: The entire front and back end, database included, was written in javaScript using android studio.

Challenges we ran into

In our first attempt, we chose C++ as the back end because it was the language we were most familiar with, which was a steep learning curve, but ultimately ended up working, even functioning as a custom API. The front end was the ultimate road block in our development that we never managed to pass. The initial idea for the app was a mobile app instead of a web app, so we were planning to use react native, which none of us had experience with, but we wanted to learn. Ultimately, a combination of technical issues, inexperience with react and react native, and difficulties sending http requests via the browser resulted in us having to abandon our plan for the front end.

Accomplishments that we're proud of

We managed to create a functioning back end program using C++ functioning as a custom API and a sqLite database with persistent storage. We are able to use curl to send JSON data to the database as well as retrieve it after restarting the server. Our project isn't over, all we need is a properly implemented front end to bring things to life.

What we learned

Hackathons require a very solid and practical understanding of a proper tech stack in order to build a proper app. We really tried to do everything the hard way and could've benefited greatly from using tools and frameworks meant to streamline the process.

What's next for Fauna Finder

If we can get a functioning front end implemented with our already functioning back end, we could easily have a viable product on our hands.

Share this project:

Updates