Rayyan Medical Inventory System
Comprehensive inventory management web application for Rayyan Medical to track medical supplies and equipment in real-time
Share this project:
Project Overview
Rayyan Medical Inventory Management System
A comprehensive web-based inventory management system developed specifically for Rayyan Medical, a medical equipment store. This applicationprovides real-time digital tracking of medical supplies and equipment, enabling efficient stock management and operational oversight.
📋 Overview
The Rayyan Medical Inventory System is a complete solution for managing medical equipment inventory. Built as a final project for industry certification, this application addresses the real-world needs of Rayyan Medical by providing a digital, real-time inventory tracking system that streamlines stock management operations.
🎯 Problem Statement
Medical equipment stores like Rayyan Medical face critical challenges in inventory management:
- Stock Tracking: Difficulty monitoring stock levels across multiple product categories
- Shortage Detection: Delayed awareness of low stock or out-of-stock items
- Overstocking Issues: Inability to identify excess inventory in real-time
- Manual Processes: Time-consuming manual inventory checks
- Real-time Updates: Need for instant visibility into current stock levels
This application was created to solve these challenges by providing an automated, digital inventory management system.
✨ Key Features
For Employees/Staff
- Dashboard Overview: Real-time inventory statistics and alerts
- Stock Management: View current stock levels for all products
- Low Stock Alerts: Automatic notifications for items below threshold
- Product Search: Quick search and filter functionality
- Stock Reports: Generate inventory reports by category or date range
- Transaction History: Track all inventory movements
For Administrators
-
Complete CRUD Operations:
- Add new medical equipment to inventory
- Update product information and stock levels
- Remove discontinued items
- Bulk import/export capabilities
-
Category Management:
- Organize products by medical equipment categories
- Manage product specifications
- Set reorder points
-
User Management:
- Create and manage staff accounts
- Set role-based permissions
- Track user activities
-
Reporting Tools:
- Stock valuation reports
- Movement history
- Forecasting and analytics
🛠️ Technologies Used
| Technology | Purpose |
|---|---|
| Laravel 8 | PHP backend framework |
| PHP 8.0 | Server-side programming |
| MySQL | Relational database |
| Bootstrap | Responsive UI framework |
| jQuery | JavaScript interactions |
| Chart.js | Data visualization |
| Webpack Mix | Asset compilation |
📁 Project Structure
inventory-rayyan-medical/
├── app/
│ ├── Http/Controllers/ # Application logic
│ ├── Models/ # Database models
│ └── Requests/ # Form validation
├── database/
│ ├── migrations/ # Database schema
│ └── seeders/ # Sample data
├── resources/
│ ├── views/ # Blade templates
│ └── assets/ # CSS, JS files
├── public/
│ └── images/ # Product images
└── routes/
└── web.php # Application routes
🚀 Getting Started
Prerequisites
- PHP 8.0 or higher
- Composer (latest version)
- MySQL 5.7+ or MariaDB
- XAMPP, WAMPP, or similar local server
- PHP MyAdmin (optional, for database management)
Installation Steps
-
Clone the Repository
git clone <repository-url> cd inventory-rayyan-medical -
Install Dependencies
composer install npm install -
Environment Configuration
cp .env.example .env php artisan key:generate -
Configure Database
Edit
.envfile:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db_inventory DB_USERNAME=root DB_PASSWORD=your_password -
Create Database
- Open PHPMyAdmin
- Create a new database named
db_inventory
-
Run Migrations and Seeders
php artisan migrate:fresh --seed -
Create Storage Link
php artisan storage:link -
Compile Assets
npm run dev -
Start Development Server
php artisan serve -
Access Application
- Open browser:
http://127.0.0.1:8000 - Login URL:
http://127.0.0.1:8000/login
- Open browser:
💻 Usage Guide
Logging In
- Navigate to the login page
- Enter credentials:
- Admin Account:
- Email: admin@rayyanmedical.com
- Password: (set during seeding)
- Staff Account:
- Email: staff@rayyanmedical.com
- Password: (set during seeding)
- Admin Account:
Managing Inventory
Adding New Items
- Navigate to "Products" section
- Click "Add New Product"
- Fill in product details:
- Product name
- Category
- SKU/Product code
- Stock quantity
- Unit price
- Description
- Product image
- Set reorder point (minimum stock level)
- Click "Save"
Updating Stock
- Go to "Inventory" dashboard
- Find the product
- Click "Update Stock"
- Enter new quantity (add or subtract)
- Add transaction note
- System automatically records timestamp and user
Checking Stock Levels
- View dashboard for real-time overview
- Check "Low Stock" alerts section
- Use search/filter to find specific items
- Export stock reports as needed
Generating Reports
- Navigate to "Reports" section
- Select report type:
- Current stock levels
- Stock movements
- Low stock items
- Stock valuation
- Choose date range
- Select format (PDF, Excel, Print)
- Generate and download/print
🔧 Configuration
Stock Alert Thresholds
Configure in config/inventory.php:
return [
'low_stock_threshold' => 10, // Alert when stock <= 10
'critical_stock_threshold' => 5, // Critical when stock <= 5
];
Categories Setup
Categories can be managed via the admin panel or database seeder.
🎨 UI/UX Features
- Responsive Design: Works on desktop, tablet, and mobile
- Clean Interface: Easy-to-navigate dashboard
- Real-time Updates: Instant stock level updates
- Visual Indicators: Color-coded stock levels (green: adequate, yellow: low, red: critical)
- Search & Filter: Quick product lookup
- Data Tables: Sortable and paginated product lists
📊 Database Schema
Key tables:
products- Product informationcategories- Product categoriesstock_transactions- Stock movement historyusers- System usersroles- User roles and permissions
🔒 Security Features
- Laravel authentication system
- Role-based access control
- CSRF protection
- SQL injection prevention
- XSS protection
- Secure password hashing
🐛 Troubleshooting
Common Issues
-
Database Connection Error
- Verify MySQL is running
- Check
.envcredentials - Ensure database exists
-
Storage Link Missing
- Run:
php artisan storage:link
- Run:
-
Permission Denied
- Set proper permissions:
chmod -R 775 storage bootstrap/cache -
Assets Not Loading
- Run:
npm run devornpm run build - Clear cache:
php artisan cache:clear
- Run:
🚀 Future Enhancements
Potential improvements:
- Barcode scanning integration
- Automated purchase orders
- Supplier management module
- Email notifications for low stock
- Mobile application
- Advanced analytics and forecasting
- Multi-warehouse support
📝 Development Process
Challenges Faced
- Requirements Gathering: Conducting thorough research and client interviews
- UI/UX Design: Creating an intuitive interface for medical staff
Solutions Implemented
- Client Collaboration: Regular interviews with Rayyan Medical stakeholders
- Design-First Approach: Created mockups and prototypes for client approval before coding
- Iterative Development: Implemented feedback loops for continuous improvement
🤝 Contributing
This project was developed for Rayyan Medical's final project submission. Suggestions and improvements are welcome!
📄 License
This project is proprietary to Rayyan Medical. Use for educational reference only.
📞 Contact
For questions, suggestions, or corrections, please contact through the email available in my portfolio.
Built for Rayyan Medical 🏥
Industry Certification Final Project 2022
Thank you! 🔥
Thank you for checking out this project. Hope you find it useful! ❤️