|
1 | | -# ScienceLab-Inventory-Management-System |
2 | | -The Science Laboratory Inventory Management System (SLIMS) is a comprehensive web-based application designed to manage inventory for scientific research environments. It provides facilities for tracking chemicals, equipment, glassware, and consumables with detailed metadata, location tracking, transaction history, order management, and analytics. |
| 1 | +# Science Laboratory Inventory Management System (SLIMS) |
| 2 | + |
| 3 | +A comprehensive inventory management system designed specifically for scientific research environments, featuring advanced tracking capabilities, role-based access control, and intelligent recommendation algorithms. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +### Core Functionality |
| 8 | +- **Complete Inventory Management**: Track chemicals, equipment, glassware, and consumables with detailed metadata |
| 9 | +- **Location Tracking**: Organize inventory by location with capacity monitoring |
| 10 | +- **Transaction History**: Full audit trail of item movements and usage |
| 11 | +- **Order Management**: Request and track orders from suppliers |
| 12 | +- **Reporting & Analytics**: Generate insights from inventory and usage data |
| 13 | + |
| 14 | +### Advanced Features |
| 15 | +- **Personalized Recommendation Engine**: Context-aware item suggestions based on: |
| 16 | + - Personal usage patterns (50% weight) |
| 17 | + - Department relevance (20% weight) |
| 18 | + - Role-specific patterns (30% weight) |
| 19 | + - Stock availability and category adjustments |
| 20 | +- **Role-Based Access Control**: Permissions tailored to different laboratory roles: |
| 21 | + - Admin: Full system access |
| 22 | + - Lab Manager: Inventory management and reporting |
| 23 | + - Researcher: Usage tracking and ordering |
| 24 | + - Student: Limited viewing and basic transactions |
| 25 | +- **Safety Compliance**: Track safety data, hazard classifications, and storage requirements |
| 26 | + |
| 27 | +### Technical Highlights |
| 28 | +- **Three-Tier Architecture**: |
| 29 | + - Frontend: HTML/CSS/JavaScript with Bootstrap for responsive design |
| 30 | + - Backend: Python Flask framework |
| 31 | + - Database: SQLite for persistent storage |
| 32 | +- **RESTful API**: Enables integration with other laboratory systems |
| 33 | +- **Barcode/RFID Ready**: Support for scanning technology |
| 34 | + |
| 35 | +## Getting Started |
| 36 | + |
| 37 | +### Prerequisites |
| 38 | +- Python 3.x |
| 39 | +- Flask and related packages |
| 40 | +- Modern web browser |
| 41 | +- Internet connection for external API features |
| 42 | + |
| 43 | +### Installation |
| 44 | +1. Clone the repository |
| 45 | +2. Install required Python packages: |
| 46 | + ``` |
| 47 | + pip install -r requirements.txt |
| 48 | + ``` |
| 49 | +3. Initialize the database: |
| 50 | + ``` |
| 51 | + python app.py init_db |
| 52 | + ``` |
| 53 | +4. Start the application: |
| 54 | + ``` |
| 55 | + python run.py |
| 56 | + ``` |
| 57 | + |
| 58 | +### Default Credentials |
| 59 | +- **Admin**: username: `admin`, password: `admin123` |
| 60 | +- **Lab Manager**: username: `manager`, password: `manager123` |
| 61 | +- **Researcher**: username: `researcher`, password: `researcher123` |
| 62 | +- **Student**: username: `student`, password: `student123` |
| 63 | + |
| 64 | +## Usage Guide |
| 65 | + |
| 66 | +### Navigation |
| 67 | +- **Dashboard**: Overview of key metrics and personalized recommendations |
| 68 | +- **Inventory**: Direct access to item management |
| 69 | +- **Management**: Access locations, suppliers, and reports |
| 70 | +- **Orders**: Track and manage purchase orders |
| 71 | +- **Recommendations**: View all personalized item suggestions |
| 72 | + |
| 73 | +### Key Workflows |
| 74 | +1. **Adding New Items**: Inventory → Add Item |
| 75 | +2. **Checking Out Items**: Inventory → View Item → Check Out |
| 76 | +3. **Placing Orders**: Orders → New Order |
| 77 | +4. **Viewing Reports**: Management → Reports |
| 78 | +5. **Managing Locations**: Management → Locations |
| 79 | + |
| 80 | +## Recommendation Algorithm |
| 81 | + |
| 82 | +The system uses a sophisticated weighted scoring system to generate personalized inventory recommendations: |
| 83 | + |
| 84 | +- **Personal Usage Score** (0-5 points, 0.5 weight multiplier) |
| 85 | + - Based on frequency and recency of personal use |
| 86 | + |
| 87 | +- **Department Relevance** (0-3 points, 0.2 weight multiplier) |
| 88 | + - Based on department-wide usage patterns |
| 89 | + |
| 90 | +- **Role Patterns** (0-4 points, 0.3 weight multiplier) |
| 91 | + - Based on typical usage for user's role |
| 92 | + |
| 93 | +- **Adjustments**: |
| 94 | + - Low stock: -1 point |
| 95 | + - Role-category match: +2 points for relevant categories |
| 96 | + |
| 97 | +The system stores up to 15 recommendations with the top 3 displayed on the dashboard. |
| 98 | + |
| 99 | +## Security and Permissions |
| 100 | + |
| 101 | +- **Role-Based Access Control**: Different permissions for various user types |
| 102 | +- **Transaction Logging**: All actions are recorded for audit purposes |
| 103 | +- **Data Validation**: Input validation to prevent security vulnerabilities |
| 104 | + |
| 105 | +## License |
| 106 | + |
| 107 | +This project is licensed under the MIT License - see the LICENSE file for details. |
| 108 | + |
| 109 | +## Acknowledgements |
| 110 | + |
| 111 | +- Bootstrap for responsive UI components |
| 112 | +- Flask framework for backend functionality |
| 113 | +- SQLite for database storage |
0 commit comments