InterHacktive-Blood-Sphere


Logo
Watch Demo
Table of Contents
  1. About The Project
  2. Getting Started
  3. Built With
  4. How To Use
  5. Contributing

🩸🩸About The Project 🩸🩸

UI/UX

💭Inspiration

• Unawareness of compatible blood availability nearby during emergency: People in need of blood during accidents/ emergency situations tend to rush to blood banks that are far away, potentially risking their life, assuming that there are no blood banks nearby.

• Not knowing where to donate blood: Other than occasional blood donation campaigns, people are often unaware about the fact that the local hospitals run of certain blood types wherein potential blood donors can help them out.     

🎯Use Case

Blood Donation and Searching during contingency Imagine being in a critical situation where someone in need requires an urgent blood transfusion. Instead of panicking and rushing to distant blood banks, people can open our blood donation and searching website and try our ‘BloodSphere Bot’. With just a few clicks, you can easily find nearby blood banks/ hospitals with the compatible blood type. Our platform with its user-friendly interface, ensures you're always aware of compatible blood availability during emergencies, saving precious time and potentially saving lives.

💡What problem does the project solve?

• Time constraints: In critical situations, people may waste valuable time searching for blood sources, which can delay life-saving treatment.
• Effective communication: Traditional ways to find blood donors can be time-consuming and involve long phone calls and large networks, which can slow down the process of getting the blood type you need.
• Different distribution of blood types: Lack of a centralized system can lead to mismatched blood types which can be dangerous or even fatal.
• Geographic constraints: Patients may not know where the closest blood bank is located, which can lead to wasted travel to remote areas.
• Low donor turnout: A lack of visibility and convenient access to donation centres can contribute to low donor turnout and insufficient blood supply.

🙌Overview

• On the landing page, see the buttons ‘Search for Blood’ and ‘Donate Blood’ respectively.

• Clicking on the button will take you to our Bot – ‘BloodSphere Bot’

• Start interacting with the bot through commands such as ‘/start’, ‘/get’ and ‘/donate’.

• Enter your respective PIN code to get location and details of all the nearby blood banks and hospitals.

💀Challenges we Faced

• Getting a free API to implement the bot was a heavy task.

• Getting PIN code for all the nearby blood banks and hospitals in our database was a difficult task for us.

• We couldn’t find any extensive live database that could be implemented in our database.

• The bot was to be implemented using WhatsApp API from Twilio but META makes it mandatory to have a Facebook page and takes about 3 weeks for verification, which was not feasible for us.

🔮Future Goals:

• For this project, as we couldn't get an extensive dataset, Our Future plan is to take some aid from the government to get access to some live data covering the availability of the various blood types across the country.

• Optimisation and minor bug fixes.

(back to top)

💻Built With

  • React- For developing the Front-end UI

  • Tailwind Css and Daisy UI- For designing the UI

  • WebPack - Used to bundle the JavaScript packages

  • Bootstrap- Used for Designing the front-end

  • Auth0- Used For making the sign in/Login handler

  • Python - Used for developing the backend and connecting the telegramBotApi for handling the messages

  • BeautifulSoup4- used for scraping data from Website

  • API used -
    1. Google Map API
    2. Zip Code Base API
    3. Telegram Bot API

  • Email JS - Use for sending email to user client side technology

  • Deployment is done in FLy.io

(back to top)

Tracks Used

  1. Best Project Workflow
  2. Best Implementation Of UI/UX

Getting Started

For setting up your project locally, follow these simple steps.

Prerequisites

You must have followings installed in your system , If you dont we got you covered

  1. Install NPM
  2. Install Pip
  3. Python Download

Installation

  1. clone repo
 git clone : https://github.com/Soumyajit2825/Blood-Sphere.git

Front-end Installation

  1. Navigate to frontend folder
cd Frontend
  1. Install necessary Libraries
npm i
  1. To run fronted on local server
npm start

Backend Installation If you do not want to deploy the bot, bot is already deployed: https://t.me/blood_sphere_bot

  1. Navigate to Backend Folder
$ cd Backend
  1. Install required libraries
$ pip instsall -r requirements.txt
  1. Add your zipcodebase API key and telegram bot API key
  2. To run script
$ python app.py

Telegram Bot or paste this user name in telegram Search: @blood_sphere_bot

(back to top)

How To Use

 

  • Open BloodSpehere Website
  • Login With Your Credentials
  • Click on Search/Donate
  • Interact with the bot to meet your purpose

    Commands To Interact

  • /start - to start interacting with the bot
  • /get - to search blood groups
  • /donate - to find nearby blood donation camps
  • Live data fetch and update(Future plan)

WorkFLow

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "improvement". Don't forget to ⭐ this project!!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/Feature1)
  3. Commit your Changes (git commit -m 'Add Feature 1')
  4. Push to the Branch (git push origin feature/Feature1)
  5. Open a Pull Request

(back to top)

Contributors


Made with ❤️ by team Semicolon