A modern web-based inventory management system designed specifically for biomedical facilities and laboratories. This system helps track medical equipment, supplies, and consumables, ensuring efficient inventory control and proper stock management for critical biomedical resources.
-
🔐 Secure Authentication
- User registration and login
- JWT-based authentication
- Protected routes and API endpoints
-
🔬 Biomedical Inventory Management
- Track medical equipment and supplies
- Monitor consumables and reagents
- Set expiry dates for time-sensitive items
- Update stock levels
- Delete obsolete items
-
⚠️ Low Stock Alerts- Automatic alerts for critical supplies (≤10 units)
- Visual indicators in the dashboard
- Email notifications for critical stock levels
-
📱 Responsive Design
- Mobile-friendly interface
- Clean and intuitive UI
- Easy navigation
-
Frontend:
- HTML5
- CSS3
- JavaScript (Vanilla)
- Chart.js for data visualization
-
Backend:
- Node.js
- Express.js
- MySQL
- JWT for authentication
- Node.js (v14 or higher)
- MySQL (v5.7 or higher)
- npm or yarn package manager
-
Clone the repository:
git clone https://github.com/yourusername/biomed-inventory-system.git cd biomed-inventory-system -
Install dependencies:
npm install
-
Create a
.envfile in the root directory with the following variables:DB_HOST=your_database_host DB_USER=your_database_user DB_PASSWORD=your_database_password DB_NAME=your_database_name JWT_SECRET=your_jwt_secret PORT=5000 -
Set up the database:
- Create a MySQL database
- Import the database schema from
database/schema.sql
-
Start the server:
npm start
-
Access the application:
- Open your browser and navigate to
http://localhost:5000
- Open your browser and navigate to
POST /api/auth/register- Register a new userPOST /api/auth/login- Login user
GET /api/inventory/items- Get all inventory itemsPOST /api/inventory/items- Add new itemPUT /api/inventory/items/:id- Update item quantityDELETE /api/inventory/items/:item_name- Delete item
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Chart.js for data visualization
- Express.js team for the amazing framework
- MySQL team for the database system