DEV Community

Cover image for Refq Initiative - Rescue hurt animals!
Aminah Dakka
Aminah Dakka

Posted on

Refq Initiative - Rescue hurt animals!

Project Code on GitHub

App Link on Drive

Choose Your Own Adventure

Why don’t we have enough applications to do voluntary works?
Here is the reason why we came up with this project idea.

Basically, it is a mobile application where:

  • People can use it to report if there was an animal in the streets that needs help.
  • Volunteer to take care of animals.

Report injury and Be a volunteer images

In order to get benefit from our data that is collected by this application, we used “Attribute Pattern” to figure out what types of injuries happened. We also used “Computed Pattern” to gather statistics that will hopefully help in awareness campaigns.

There are collections for:

  • Volunteer, which contains his address and Firebase Cloud Messaging (FCM) to help in notifying if there was a hurt animal in the neighborhood.
  • Post, which contains hurt animal’s address and information in order to help in collecting useful data, and a FCM to notify post owner with the operation of animal rescue (whether was successful or not).
  • Statistics, which counts the number of hurt animals in every city.
  • Temp, which is a temporary information to determine who’s the volunteer that is going to save the animal upon post creation.

DB anaysis

To make this application safe in real world, we must add authentication, session and more.

here is how post documents look like:

post document

and here is how statistic documents look like:

statistic document

Now let’s talk about technology we used For server side:

  • We used MongoDB Atlas to manage our database.
  • We managed indexes in Data Explorer by creating indexes on countryCode, city and addresses fields.
  • We also connected our application to our database with Node.JS.
  • We used Mongoose to manage all relationships between data and queries. In addition, we used an API for Geocoding, Firebase for sending notifications, and Cloudinary to host media.

Top comments (0)