A comprehensive inventory management system designed specifically for scientific research environments, featuring advanced tracking capabilities, role-based access control, and intelligent recommendation algorithms.
- Complete Inventory Management: Track chemicals, equipment, glassware, and consumables with detailed metadata
- Location Tracking: Organize inventory by location with capacity monitoring
- Transaction History: Full audit trail of item movements and usage
- Order Management: Request and track orders from suppliers
- Reporting & Analytics: Generate insights from inventory and usage data
- Personalized Recommendation Engine: Context-aware item suggestions based on:
- Personal usage patterns (50% weight)
- Department relevance (20% weight)
- Role-specific patterns (30% weight)
- Stock availability and category adjustments
- Role-Based Access Control: Permissions tailored to different laboratory roles:
- Admin: Full system access
- Lab Manager: Inventory management and reporting
- Researcher: Usage tracking and ordering
- Student: Limited viewing and basic transactions
- Safety Compliance: Track safety data, hazard classifications, and storage requirements
- Three-Tier Architecture:
- Frontend: HTML/CSS/JavaScript with Bootstrap for responsive design
- Backend: Python Flask framework
- Database: SQLite for persistent storage
- RESTful API: Enables integration with other laboratory systems
- Barcode/RFID Ready: Support for scanning technology
- Python 3.x
- Flask and related packages
- Modern web browser
- Internet connection for external API features
- Clone the repository
- Install required Python packages:
pip install -r requirements.txt
- Initialize the database:
python app.py init_db
- Start the application:
python run.py
- Admin: username:
admin
, password:admin123
- Lab Manager: username:
manager
, password:manager123
- Researcher: username:
researcher
, password:researcher123
- Student: username:
student
, password:student123
- Dashboard: Overview of key metrics and personalized recommendations
- Inventory: Direct access to item management
- Management: Access locations, suppliers, and reports
- Orders: Track and manage purchase orders
- Recommendations: View all personalized item suggestions
- Adding New Items: Inventory → Add Item
- Checking Out Items: Inventory → View Item → Check Out
- Placing Orders: Orders → New Order
- Viewing Reports: Management → Reports
- Managing Locations: Management → Locations
The system uses a sophisticated weighted scoring system to generate personalized inventory recommendations:
-
Personal Usage Score (0-5 points, 0.5 weight multiplier)
- Based on frequency and recency of personal use
-
Department Relevance (0-3 points, 0.2 weight multiplier)
- Based on department-wide usage patterns
-
Role Patterns (0-4 points, 0.3 weight multiplier)
- Based on typical usage for user's role
-
Adjustments:
- Low stock: -1 point
- Role-category match: +2 points for relevant categories
The system stores up to 15 recommendations with the top 3 displayed on the dashboard.
- Role-Based Access Control: Different permissions for various user types
- Transaction Logging: All actions are recorded for audit purposes
- Data Validation: Input validation to prevent security vulnerabilities
This project is licensed under the MIT License - see the LICENSE file for details.
- Bootstrap for responsive UI components
- Flask framework for backend functionality
- SQLite for database storage