This repository provides a Laravel 8 development environment using Docker, designed for local development only. No Docker image building or production deployment is included here. For production, see Production Setup.
- 🏥 Project Overview
- 🧰 Tech Stack
- 📦 Prerequisites
- ⚙️ Development Setup (Docker)
- 🧾 Running Artisan & Composer Commands
- 🚀 Production/Server Deployment (Without Docker)
- ✅ Tips
- 🧼 Troubleshooting
MediTrack SUSL is a digital transformation initiative aimed at modernizing medical center operations within educational institutions, with Sabaragamuwa University of Sri Lanka serving as the pilot implementation.
The system focuses on:
-
💊 Digital Prescription Management
Replaces paper prescriptions with secure digital records, reducing errors. -
📦 Medicine Stock & Expiry Analysis
Continuously monitors stock levels, tracks medicine usage. -
👩⚕️ Staff Efficiency Support
Minimizes paperwork and manual calculations, allowing medical staff to dedicate more time to patient care.
By streamlining workflows and digitizing records, MediTrack SUSL enhances accuracy, efficiency, and accessibility in university medical services.
- Laravel 8 – PHP web framework
- PHP 7.4 + Apache – Web server
- MySQL 5.7 – Database server
- phpMyAdmin – Database management GUI
- Composer – PHP dependency manager
- Docker installed on your machine
git clone https://github.com/kavindalj/MediTrack_SUSL.git
cd MediTrack_SUSLcp .env.example .envUpdate .env file for Docker services:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret
docker compose up -dThis will start:
- Laravel App (PHP + Apache)
- MySQL 5.7
- phpMyAdmin
Enter the Laravel container:
docker compose exec laravel_app bashInside the container, install Composer if not already installed:
apt update && apt install -y curl unzip git zip
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composerThen install Laravel dependencies:
composer installphp artisan key:generatephp artisan migratephp artisan db:seed
exit- Laravel App → http://localhost:8000
- phpMyAdmin → http://localhost:8080
Login Credentials
-
MediTrack App
Email: pharmacist@meditrack.com
Password: password123
Role: Pharmacist (Full Access) -
phpMyAdmin
Username: laravel
Password: secret
Enter the Laravel container:
docker compose exec laravel_app bashRun commands as needed:
# Composer
composer install
composer update
composer require <package>
# Artisan
php artisan migrate
php artisan db:seed
php artisan migrate:fresh --seed
php artisan route:list
php artisan make:model <ModelName>
php artisan make:controller <ControllerName>
php artisan make:migration create_table_nameFor production, install PHP, Apache/Nginx, MySQL, and Composer directly on the server.
- PHP 7.4+ (with mbstring, openssl, pdo, tokenizer, xml, json)
- Apache or Nginx
- MySQL 5.7+ / MariaDB
- Composer
# Clone project
git clone https://github.com/kavindalj/MediTrack_SUSL.git
cd MediTrack_SUSL
# Install dependencies
composer install --optimize-autoloader --no-dev
# Setup environment
cp .env.example .env
nano .env # configure database + app settings
# Generate key
php artisan key:generate
# Setup database
php artisan migrate --force
php artisan db:seed --force- To stop containers:
docker compose stop- If migrations fail, wait a few seconds for MySQL to initialize and retry.
- If ports are blocked, ensure ports 8000 and 8080 are free.