Skip to content

JerrySJoseph/helping_hands_server

Repository files navigation

Helping Hands Server 👦

Github versions GitHub repo size GitHub contributors GitHub stars GitHub forks

Helping Hands is an Open Source Android application built by Jerry S Joseph. This application serves as a fully functional prototype of backend for the social service community app. This app was built in Node.js and is a subset of a bigger project JSCloud.

API Endpoints

/api/v1/services/read

{
  success:true,           //boolean
  message:"some String",  //String
  result: Array[]         //Array of objects
}

/api/v1/services/create

{
  success:true,           //boolean
  message:"some String",  //String
  result: Object         //new created service
}

/api/v1/services/like

{
  success:true,                       //boolean
  message:"Like saved to database",  //String
  result: null                        //Array of objects
}

/api/v1/services/dislike

{
  success:true,                         //boolean
  message:"DisLike saved to database",  //String
  result: null                          //Array of objects
}

/api/v1/services/ping

{
  success:true,           //boolean
  message:"server is live",  //String
}

Sending Requests

If sending requests to the server from outside HelpingHandsCloud module in android Client, the header should contain device_fingerprint generated by the Cloud Module. This header is automatically added if you are using cloud module.

 device_fingerprint: {
                      SHA_fingerprint:"zM7CDz7zzo24Mhs/h0y9fRoMBwEFHahXQM+n5lesKJ8=",
                      clientID:"68570763210eabbb",
                      packageName:"com.jstechnologies.helpinghands"
                      }

Below is a sample Post body for Read request. Payload must contain Address generated by Geolocation API in android and the collection name.

{
  collectionName: 'services_data',
  payload: {
    addressLine1: '117, Karkar Duma, Ram Vihar, Anand Vihar, Delhi, 110092, India',
    city: 'Delhi',
    country: 'India',
    lat: 28.650216666666665,
    lon: 77.302705,
    pincode: '110092',
    state: 'Delhi'
  },
  requestType: 'READ'
}

Features

  • No Login/Signup. Anyone can access the free database with this app.
  • Show all services near you with Geolocation.
  • Only accept authorized requests from clients ( as defined in config.json)
  • Anyone can add a new service as a contact (within one's state).
  • The probability of finding a service depends on the distance, rating, and verification status of the service provider.
  • Tailored to include mobile numbers only from India for Now.
  • Search any service provider by name, services, phone number or tags.
  • Ability to vote or downvote any service provider anonymously.

Goals 🔥

  • No Login/Signup.
  • Identify device using unique ID.
  • Consume Rest API Endpoints in a easier and cleaner way.
  • Ability to work without network connections (Once the data is fetched from server, it is stored in LocalDB unless new data is available).
  • Generate matches tailored for every user by location and rating.
  • Develop a scoring system for backend which generates match nearest and most trusted to you.
  • No user data is stored in the server. User is always anonymous.
  • Add service contacts.
  • Service contact verification (By phone ).
  • Filter services by location, date, rating, etc.

Contributing to this project 👦

To contribute to this project, follow these steps:

  1. Fork this repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make your changes and commit them: git commit -m '<commit_message>'
  4. Push to the original branch: git push origin <project_name>/<location>
  5. Create the pull request.

Alternatively see the GitHub documentation on creating a pull request.

Contributors 👦

Thanks to the following people who have contributed to this project:

Contact ☎️

Reach me at jerin.sebastian153@gmail.com.

License

This project uses the following license: Apache-2.0.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published