Giter Club home page Giter Club logo

blood-bank-app's Introduction

ABPBloodBank

A blood donor management app with react native and firebase. This app was developed to help Asroy Bidyapith with their blood management activity in Ashuganj and nearby areas. Feel free to clone it for your own locality.

The app is available here.

Features

  • Search donors with name or address
  • Filter with blood group and availability according to last donation date
  • Users can sign in with Facebook to enlist their blood group and contact informations
  • Users can choose to share their contact informations only with admin, in that case, admin contact is shown in their profile info screen
  • Admin can manually add donors or update last donation information
  • Admin or user can update their last donation information

Key technologies/packages used

  • React Native
  • React Native Firebase
  • React Native Elements
  • React Navigation
  • Redux

Setps to clone this project

  1. First of all you will need to install and configure Android SDK. Follow the Building Projects with Native Code section in this official guide.

  2. Then clone and rename this project. Renaming can be tricky. Try using this package.

  3. Create a firebase project here.

  4. A google-services.json file contains all of the information required by the Firebase Android SDK to connect to your Firebase project. To automatically generate the json file, follow this guide. Once downloaded, place this file in the root of the project at android/app/google-services.json. Replace the existing file.

  5. Create a realtime database from firebase console with these following security rules.

{
  "rules": {
    "contact_info": {
      "$uid": {
        ".read": "data.child('hidden').val() != true || $uid === auth.uid || root.child('users').child(auth.uid).child('admin').val() == true",
        ".write": "(data.child('hidden').val() != true || $uid === auth.uid || root.child('users').child(auth.uid).child('admin').val() == true) && data.child('admin').val() === newData.child('admin').val()"
      }
    },
    "users": {
      ".read": true,
      "$uid": {
        ".write": "$uid === auth.uid || root.child('users').child(auth.uid).child('admin').val() == true"
      }
    }
  }
}
  1. Follow the Getting Started Guide for Facebook Android SDK to set up a Facebook app. You don't need to follow the whole guide, just create a new facebook app, update the strings.xml and add the Key Hash

  2. Install the dependencies with yarn install.

  3. Now you should be able to run the project with react-native run-android

If you need any help, feel free to ping me.

If you clone this project, please keep a link back to Asroy Bidyapith. (and maybe the original project too!)

blood-bank-app's People

Contributors

abdulhaseeb036 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.