Inspiration

The inspiration for "Donate Blood" came from the pressing need to bridge the gap between blood donors and patients in Bangladesh. With many patients struggling to find matching blood types, especially in emergencies, we aimed to create a centralized platform that connects university-level blood donors with those in need, making the process seamless and efficient.

What We Learned

Throughout the development of "Donate Blood," we learned:

  • The intricacies of building a full-stack web application using modern technologies.
  • The complexities involved in integrating backend functionalities, especially in user authentication, authorization, and secure data management.
  • The importance of responsive design and user-friendly interfaces.

How We Built It

We built "Donate Blood" using the following technologies:

  • HTML, CSS and Javascript for crafting the responsive and user-friendly frontend.
  • Node.js and Express.js for setting up the backend server, laying the foundation for handling requests and user data.
  • MongoDB or database management, planned to securely store user information and donor details.
  • Vercel for hosting the backend, enabling us to deploy our project and make it accessible online.

While the backend functionalities like user sign-up, login, and donor search are still in development, we’ve established a framework and are continuing to work towards a fully integrated solution.

Here is an example of our code:

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
const cors = require('cors');

const app = express();
const PORT = process.env.PORT || 3000;
const saltRounds = 10;
const secretKey = 'yourSecretKey';

// Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());

Challenges We Faced

We faced many challenges while developing our blood donation project.

Deploying the app was tricky because we didn’t have a credit card for traditional hosting. This led us to discover and use Vercel, which worked well for us. Creating a user-friendly interface for both donors and patients took a lot of time and effort.

Backend development presented numerous challenges. We worked on managing tasks in Node.js to smoothly connect to the database and handle user logins, which required significant time and effort. Although we couldn’t fully implement these features, the process of debugging and configuring MongoDB connections provided valuable insights into the complexities of backend development.

Each of these obstacles taught us valuable lessons and helped make our project stronger and more reliable.

Share this project:

Updates