Authors: Prof. Deepali Joshi, Prof. Deepali Deshpande, Dr. Neelam Chandolikar, Prof. Ranjana Jadhav
Certificate: View Certificate
REST principles and RESTful data architecture are topics that web developers constantly discuss because they are essential to contemporary development and many other things. REST is a technique for building APIs with specific organizational principles, not a technology on its own. These guidelines and ideas are intended to help developers and establish a uniform environment for handling API requests. We are developing a Restful API for the developers, Organizations to develop websites, applications, Desktop applications by using our data. Restful APIs are handy because a number of applications can be built over them. In this paper, we emphasized the idea of design and implementation that Instead of approaching every NGO, we are making a rest API so that data can be easily accessible and can be used to make many websites or many applications.
In today's generation, As we all know that the only animal which is happily living his life are humans rest most of the other non-human animals are either homeless, handicapped or are starving and wandering everywhere. There are a number of NGOs who help these living creatures but they don't know exactly which animal needs their help until someone calls them, to resolve this we are providing them the data so each and every NGO, private organization can make their own website or just can make our API calls to get the data. Giving the homeless, handicapped and diseased animals a proper shelter, allowing a number of NGOs to register their account for looking out for these homeless creatures. Animal rescue is a much-needed community service that helps protect animals from dangerous situations that often involve cruelty and abuse. Many animals are turned to shelters due to eviction, costly health problems, or other compelling circumstances. It's easy to slander people who surrender their animals, but as animal advocates, we must keep in mind that oftentimes people are surrendering as they believe it's in the animal's best interest, or because they've tried everything else. An estimated 3.1 million dogs enter US shelters each year. While that number is staggering, it is a significant drop from the estimated In 2011, 9 million dogs were placed in shelters. These dogs come in as strays, and their owners give up, take care of them, and suffer cruelty to rehabilitate them in shelters. There are many animal welfare groups that accept stray dogs and surrender their owners, but many also focus on retrieving dogs from shelters to make room for additional shots, and euthanize them annually to reduce animal shelters. There is a continuing trend of declining numbers of dogs being let out.
As sentient beings, animals deserve fair treatment in terms of their physical and mental well-being. Unfortunately, this doesn't always happen, so rescues are needed to restore the welfare of animals that have been neglected, abused, or neglected by society.
II. PROBLEM STATEMENT
To design and develop a centralized platform for animal welfare which will help NGOs to efficiently work and will help government bodies to effectively monitor the status.
III. LITERATURE REVIEW
Animal welfare refers back to the bodily and intellectual well being of animals (Carenzi and Verga 2009). on this regard, the Animal Welfare Council has described 5 freedoms to be granted to attain animal welfare: (1) freedom from thirst, starvation and malnutrition; (2) freedom from discomfort; (3) freedom from pain, injury, and disease; (4) freedom to explicit everyday behavior; and (5) freedom from worry and anxiety (Farm Animal Welfare Council 1993). Since the emotional nation of animals can't be immediately measured (Carenzi and Verga 2009; Chan 2011), welfare is in exercise evaluated on the premise of pride of desires. For example, Bartussek evolved an index of animal desires for pigs (Bartussek 1995b), laying hens (Bartussek 1995a) and cattle (Bartussek 1996) distinguishing 30 to 38 standards grouped into 5 regions of influence: (1) opportunity of movement, (2) social contact, (3) situation of the floor, (4) weather and (5) depth of care. Assigns rankings for described durations every criterion ensuing in a qualitative evaluation of animal welfare.
IV. EXPERIMENTAL MODULES
Main modules in the project are as following:
A. NGO Module
In the NGO module, Only the user who is a NGO user can add a NGO, delete his/her NGO, update his/her NGO, he can see the data of all the NGOs in the world so that he can adopt the changes according to them. Like if one NGO adopted some measures and they added it in their description or aims field then other NGOs can adopt the measures according to them.
The normal user can not be able to update or delete or add a NGO as he is normal user and he doesn't has an access to do that. I have also added a healthy functionality like NGO can copy their zip code and distance from their data by sending the get request and paste it into animals "Get animals by distance and zip code" route and can see the animals in their surrounding and they can increase the distance by this way NGO can adopt most of the animals in their area. If admin thought that this NGO is not taking proper care of animals then he can send a warning to the NGO via email even though they kept neglecting the email then the admin can take some serious measures regarding this. If the owner (NGO user) of the NGO decided to shut down the NGO then all the Data related to the NGO will be delete from the database like the animals they adopted will be deleted from the database and the reviews on that NGO will also get deleted then. If one user registered himself as a normal user and later he thought of starting an NGO then he can contact any admin via (email) as this API is public so he can get the email of any admin can change his role from user to NGO user, but for that he should have a team and all the resources that any NGO needs for their working. So this sums up the NGO module.
B. ANIMAL Module
In Animals module, the users (normal users or admins) can upload the data of animals like uploading the photos of stray/handicapped/diseased animals in their surrounding. As we all see there are number of stray cats, dogs in our surroundings whom no one adopts and they have to struggle a lot to live a normal life so for them if the normal user or admin uploads the photo of them and attached the details of those animals and if they posted this information via the Post animal details route then the details of these animals will be visible to the NGO. The nearby NGO can rescue that animal and take care of that animal. Once the animal has been rescued by the NGO then in the Animals database model there will be the Id of the NGO who has rescued the animal by this data other NGO will know that the animal has been adopted. Any user can see the details of all the animals in the world even he/she is not logged in same goes with NGO too. If one user founds one dog who is very ill and required a proper shelter for them they set the priority to high so that NGO can know which animal to rescue first, This functionality is also added by us. One can also the animals adopted by any NGO by hitting the route "Get animals which specified NGO has rescued". NGO user can't upload the details of animals just normal users and admin can, because if they saw an animal in need they will not upload the details right, they will directly rescue that animal so we have not added that functionality in our project. So this sums up Animals module.
C. Authentication Module
In Authentication module, user can register their account, if user had already register the account then he can log into his account and can also log him out from the account. In this there are 3 types of users. The first user is a normal user who will upload a pic and details of stray/handicapped/diseased animals in their surrounding and if any NGO adopted them then they can add a review to know If the NGO is treating the animals well. Second user is a NGO user he is nothing but the one who is the owner of the NGO or works in the NGO. He can register himself as a NGO user so that he can adopt animals within their distance. NGO user cannot add a review on any NGO as to avoid fake reviews. Third user is the admin who can perform any operations like he can perform operations on NGO like add, delete, update, get and he can also perform operations on post of animals uploaded by user like add, delete, get, update, etc. Same goes with user and reviews too. Admin is the most powerful user as he has control over all the operations. The main aim of creating 3 users are one can create any type of applications like If I am a developer and I wanted to create my own website then I will not need the routes like add a NGO and delete the NGO as there is only one NGO that is mine and he will also not need admin user but if I want to develop a website where I need multiple NGO then I will be the admin and I'll control everything. And if by mistake someone forgot his password then then he can send a request by forgot password route and then he will receive a link on via his email and if he opened that link and type the new password then he will be able to reset the password and use that password to log into his account. We have covered all security measures like hashing the password, hash the reset password, give a token once he logs in, don't save the password, rate limit, etc. And if user knows the password but he wants to update the details and password then he can do it using update details and update password route. So this is the functionality of authentication module.
D. User Module
The Users module is just for the admin so that he can add a user (user/NGO user), delete the user details or update the user details or get the details of the user. If there is one user and he registered himself as a normal user and after sometime he thought of starting an NGO then he should be able to shift from user to NGO user. So for that we have created this route so that admin can update that user details and can change his role from user to NGO user. Secondly if the user is not able to post the details then he can contact the admin via newsletter or something and can create his account. If the user is not obeying the rules or uploading the irrelevant content then the admin can delete his/her account. Actually this is the route only for admins to have the control over their website. To delete his/her account they can get the ID from the get route and use that Id to delete their accounts. So this sums up the User module.
E. Reviews Module
In Reviews module, the normal user or admin can add a review on the NGO. So basically if the NGO adopted the animal and took a good care of that animal then the user can add a review of the NGO like this NGO took a good care of the dog which I posted 1 month ago and that dog is very healthy now so like this way they can add a review into that. One user can only add one review per NGO to avoid fake reviews. By reviews other people will know the efforts taken by the NGO, is that NGO very much curious about rescuing the animals, etc. All this outputs of the NGO will be reflected by the reviews of the people so that people will know about which NGO is good. We are also providing a "Get single review by Id" route for the one who wants to develop a website in which he wants the user to reply to a review so that fake reviews will be tackled. So this sums up a Review module
V. SYSTEM ARCHITECTURE
VI. PROPOSED SYSTEM
Our aim is to provide a place where animals who are ill, injured, not cared for, or badly treated can be taken and given treatment and care: A young wild deer is recovering at an animal rescue center after being hit by a car.
The proposed application is web based, developed using Node.js, Express.js, MongoDB and Postman for documentation. Our documentation will help people to understand the endpoints where data is coming and which calls to make to develop their project. We are acting as a data provider between the client and the ngo user. Ngo will rescue the animal from the user specified location.
VII. FEASIBILITY STUDY
A feasibility study is a very useful tool that is utilized throughout the process to provide answers to a variety of questions, such as what the project's difficulty is. Is there a workable solution to solve the problem statement of the proposed system in comparison to the current system? As soon as the issue or problem statement is well defined, a feasibility study is carried out. The technological, operational, and economic elements must all be taken into account in the feasibility study in order to determine whether the proposed system is feasible. The management will have a clear opinion on the proposed system after conducting a thorough analysis. The following feasibility is taken under consideration for the project to make sure that the project is efficient, affordable and doesn't have any major
A feasibility study consists of following parts:
In this aspect, we study the feasibility of all proposed systems and pick the best feasible solution for our project. The feasibility of proposed system is studied and supported by three main factors as follows.
A. Technical Feasibility
In this state, we can verify that this proposed system is technically feasible or not. that is all the technologies which are required to develop the proposed system are readily available or not. Technical Feasibility also tells the any comapny/ organization/group has the skills and technology necessary to accomplish the project and also the way by which the problem statement of the proposed system should be tackled.
The reposed system will be technical feasible due to the below grounds:
B. Economic Feasibility
Since there is no additional financial investment necessary and the project can be finished in a short amount of time between 10 and 12 weeks the proposed method is perfectly feasible from an economic perspective. In this step, we determine which system proposal is the most cost-effective to implement commercially. We have double-checked and analyzed the return on investment for our system. Due to the fact that the financial benefits of our suggested system outweigh the investments and total costs, it is economically feasible. We can establish whether a project can be completed within the resource constraints set forth for it by taking economic feasibility into account.
The total cost of the proposed system is very minimal as all the resources/tools used for development are Open Source Tools.
C. Operational Feasibility
This step involves evaluating many operational aspects of the suggested solutions, such as Authentication, Authorization, Response Time, etc. The operationally feasible solution is one that makes use of available resources. Operational Feasibility assesses whether the suggested system can be integrated into the proposed system's operations while still meeting user objectives.
This system is operationally feasible because of the following factors:
VIII. PROJECT IMPLEMENTATION
Our project application is a website developed by using MERN Stack. For our project, we have used VS code for developing and implementing the coding part. MongoDB Atlas is used for storing and retrieving the data.
The MongoDB Atlas is a cloud database which is a NoSQL Database that allows you to store and sync data among the users in real time. Cloudinary is used to store the images which the users are going to upload,
IX. EXPERIMENTAL RESULTS AND ANALYSIS
We have designed the documentation for the Rest API so that users can read the information related to the particular route. From this information they will get to know what kind of data is coming from that particular route and they will also know which route is a GET request or POST request.
They can also see the data which is already fed by multiple users. There are five modules such as Animal module, NGO module, Authentication module, Reviews module and User Modules.
These are some of the snapshots of the project:
X. FUTURE SCOPE
Supporting animal welfare is the key to sustainability and economic viability. We are trying to reduce the number of stray animals by helping them in finding their proper owners. Users can submit images and the location of a stray animal in the hopes that it will be adopted by a caring soul. Therefore, it is very much hoped that with this REST API, homeless animals in the world can be reduced.
Copyright © 2023 Prof. Deepali Joshi, Prof. Deepali Deshpande, Dr. Neelam Chandolikar, Prof. Ranjana Jadhav. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.