A comprehensive Laravel-based healthcare platform where users can consult doctors and make payments via Korapay.
- User Consultation Forms - Multi-step consultation with medical document uploads
- Payment Integration - Korapay payment gateway for secure transactions
- Admin Dashboard - Manage consultations, doctors, payments, and admin users
- Email Notifications - Automated emails for all stages (confirmation, doctor notification, payment requests)
- Document Management - Upload and forward medical documents to doctors
- Doctor Management - Maintain doctor profiles with specializations
- Modern UI - Tailwind CSS with responsive design
- Laravel 12
- Tailwind CSS v4
- Alpine.js
- Korapay Payment Gateway
- MySQL Database
- Vite (Asset bundler)
# Run the quick start script
bash quick-start.sh# Deploy to production server
bash deploy-production.shFor detailed deployment instructions, see PRODUCTION.md
-
Clone and Install Dependencies
composer install npm install
-
Environment Setup
cp .env.example .env php artisan key:generate
-
Configure Database
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_DATABASE=campaign DB_USERNAME=root DB_PASSWORD=
-
Run Migrations
php artisan migrate php artisan db:seed --class=DoctorSeeder
-
Build Assets
npm run build # Or for development: npm run dev -
Start Server
php artisan serve
app/
├── Http/Controllers/
│ ├── Admin/
│ │ ├── AuthController.php # Admin login/logout
│ │ └── DashboardController.php # Admin dashboard & management
│ ├── ConsultationController.php # User consultation forms
│ └── PaymentController.php # Korapay payment handling
├── Mail/ # Email notifications
├── Models/ # Database models
│ ├── AdminUser.php
│ ├── Consultation.php
│ ├── Doctor.php
│ └── Payment.php
└── Middleware/
└── AdminAuthenticate.php # Admin auth guard
resources/views/
├── admin/ # Admin dashboard views
├── consultation/ # User consultation forms
├── emails/ # Email templates
└── payment/ # Payment success/fail pages
/- Landing page/submit- Submit consultation form/payment/{consultation}- Payment page/payment/callback- Korapay callback
/admin/login- Admin login/admin/dashboard- Main dashboard/admin/consultations- Manage consultations/admin/doctors- Manage doctors/admin/payments- View payments/admin/users- Manage admin users
Add your Korapay credentials to .env:
KORAPAY_PUBLIC_KEY=pk_live_xxxxx
KORAPAY_SECRET_KEY=sk_live_xxxxx
KORAPAY_ENCRYPTION_KEY=xxxxx
KORAPAY_API_URL=https://api.korapay.com/merchant/api/v1MAIL_MAILER=smtp
MAIL_HOST=smtp.zeptomail.com
MAIL_PORT=587
MAIL_USERNAME=emailapikey
MAIL_PASSWORD=your-password
MAIL_FROM_ADDRESS=noreply@doctorontap.com.ngDefault admin credentials are seeded via DatabaseSeeder.php. Change them after first login.
# Terminal 1: Laravel
php artisan serve
# Terminal 2: Vite (hot reload)
npm run devnpm run devphp artisan testSee PRODUCTION.md for complete deployment guide.
Quick deploy:
sudo bash deploy-production.shFix asset loading issues:
sudo bash fix-production.sh- User information (name, email, age, gender, address)
- Consultation details (symptoms, preferred_doctor_id)
- Payment status
- Medical documents (JSON)
- Forwarding status
- Doctor profiles
- Specializations
- Contact information
- Korapay transaction details
- Payment status tracking
- Admin authentication
- Role management
- Activity tracking
- User submits consultation → Confirmation email sent to user
- Admin reviews → Can forward documents to doctor
- Documents forwarded → Doctor notification email
- Admin requests payment → Payment request email to user
- Payment completed → Confirmation to user and admin
- Admin routes protected by authentication middleware
- CSRF protection on all forms
- Environment-based configuration
- Secure session handling
- Input validation and sanitization
sudo bash fix-production.shphp artisan config:clear
php artisan migrate:statusCheck logs:
tail -f storage/logs/laravel.logphp artisan cache:clear
php artisan config:clear
php artisan view:clearquick-start.sh- Local development setupdeploy-production.sh- Production deploymentfix-production.sh- Fix common production issues
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Mobile browsers
Proprietary - DoctorOnTap Healthcare Platform
For issues or questions: inquiries@doctorontap.com.ng
Built with Laravel + Tailwind CSS for healthcare consultation management.