RedCell is a comprehensive blood donation management system designed to streamline the process of blood donation, request, and inventory management. It connects donors, facilities, and administrators to ensure efficient and timely blood supply.
- User Authentication: Secure login and registration for donors, facilities, and administrators.
- Donor Management:
- Donor registration and profile management.
- Tracking of donation history and eligibility.
- Badges and recognition for frequent donors.
- Facility Management:
- Facility registration and profile management.
- Ability to request blood based on patient needs.
- Inventory management of blood components.
- Blood Request System:
- Facilities can submit blood requests with details like blood type, units, and patient condition.
- Donors can view and respond to nearby blood requests.
- Donation Tracking:
- Record and track individual blood donations.
- Update donation status (approved, rejected, completed).
- Inventory Management:
- Facilities can manage their blood component inventory.
- Real-time updates on available blood units.
- Dashboard: Personalized dashboards for donors and facilities to view relevant information and actions.
- Database Integration: Uses SQLite for local data storage.
Before you begin, ensure you have the following installed:
- Java Development Kit (JDK) 21: Download JDK
- Maven: Download Maven
- SQLite Browser (Optional): For viewing and managing the
redcell.db
database.
-
Clone the repository:
git clone https://github.com/your-username/RedCell.git cd RedCell
-
Build the project using Maven:
mvn clean install
This command will compile the project and download all necessary dependencies.
You can run the application using one of the following methods:
For Windows users, a convenience script run.bat
is provided to start the application.
-
Navigate to the project root directory in your command prompt.
-
Run the batch file:
run.bat
-
Navigate to the project root directory in your terminal.
-
Execute the application using Maven:
mvn javafx:run
This will start the JavaFX application.
RedCell/
├── pom.xml
├── README.md
├── run.bat
└── src/
└── main/
├── java/ # Java source code
│ └── com/redcell/
│ ├── controllers/ # FXML controllers
│ ├── models/ # Data models and business logic
│ └── RedCellApp.java # Main application entry point
└── resources/ # FXML, CSS, images, and database
├── dashboard.fxml
├── db_update_script.sql
├── dbplan.md
├── img/ # Application images
├── redcell.db # SQLite database file
├── styles.css
└── views/ # FXML view files
The redcell.db
SQLite database contains the following tables:
users
: Stores general user information (ID, username, password, role).donors
: Extendsusers
with donor-specific details (blood type, last donation date, status, total donations).facilities
: Extendsusers
with facility-specific details (request count, donation count, inventory).requests
: Stores blood request details (request ID, patient condition, blood type, units, date, time, facility info, contact, status, created by).donations
: Stores donation records (donation ID, request ID, blood type, units, location, date, status, donor ID).inventory
: Manages blood component inventory for facilities.donation_requests
: Links donations to specific requests.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a Pull Request.
This project is licensed under License - see the LICENSE file for details.
For any inquiries, please contact me.