Skip to content

Latest commit

 

History

History
238 lines (183 loc) · 4.7 KB

README.md

File metadata and controls

238 lines (183 loc) · 4.7 KB

Aurora

A secure, real-time collaboration platform designed for multidisciplinary clinical teams to coordinate patient care efficiently. Built with Laravel, React, Tailwind CSS, and PostgreSQL.

Features

Synchronous Collaboration

  • Real-time video conferencing with secure peer-to-peer connections
  • Screen sharing and collaborative viewing of clinical documents
  • Interactive whiteboarding for care planning
  • Presence indicators and real-time team member status

Asynchronous Communication

  • Threaded case discussions
  • File sharing with support for clinical documents and images
  • Task management and assignment
  • Automated notifications for critical updates

Clinical Decision Support

  • Integration with clinical guidelines
  • Real-time alerts for critical lab values
  • Medication interaction checking
  • Risk prediction and early warning systems

Team Management

  • Smart scheduling with availability management
  • Role-based access control
  • Audit logging for all clinical interactions
  • Secure document sharing

Technology Stack

  • Frontend: React, Tailwind CSS
  • Backend: Laravel 10
  • Database: PostgreSQL
  • Real-time: Laravel WebSockets
  • Video: Agora.io SDK
  • Authentication: Laravel Sanctum
  • File Storage: S3-compatible storage

Prerequisites

  • PHP >= 8.1
  • Node.js >= 16
  • PostgreSQL >= 13
  • Composer
  • npm or yarn
  • Redis

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/clinical-collaboration.git
cd clinical-collaboration
  1. Install PHP dependencies:
composer install
  1. Install JavaScript dependencies:
npm install
  1. Copy the environment file and configure your settings:
cp .env.example .env
  1. Generate application key:
php artisan key:generate
  1. Configure your database in .env:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
  1. Run database migrations:
php artisan migrate
  1. Start the development servers:
# Terminal 1: Laravel backend
php artisan serve

# Terminal 2: Frontend assets
npm run dev

# Terminal 3: WebSocket server
php artisan websockets:serve

Security Considerations

This platform is designed with healthcare security requirements in mind:

  • All data is encrypted at rest and in transit
  • Role-based access control for all features
  • Comprehensive audit logging
  • Session management and automatic timeouts
  • IP-based access restrictions
  • File access monitoring
  • HIPAA-compliant data handling

Environment Variables

Required environment variables:

APP_NAME=ClinicalCollaboration
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=https://your-domain.com

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls

PUSHER_APP_ID=your-app-id
PUSHER_APP_KEY=your-app-key
PUSHER_APP_SECRET=your-app-secret
PUSHER_APP_CLUSTER=your-cluster

AGORA_APP_ID=your-agora-app-id
AGORA_APP_CERTIFICATE=your-agora-certificate

Development

Code Style

This project follows PSR-12 coding standards. Run PHP CS Fixer before committing:

./vendor/bin/php-cs-fixer fix

For JavaScript, we use ESLint and Prettier:

npm run lint
npm run format

Testing

Run PHP tests:

php artisan test

Run JavaScript tests:

npm test

Deployment

  1. Set up your production environment
  2. Configure environment variables
  3. Install dependencies:
composer install --optimize-autoloader --no-dev
npm install --production
  1. Build frontend assets:
npm run build
  1. Run migrations:
php artisan migrate --force
  1. Cache configuration:
php artisan config:cache
php artisan route:cache
php artisan view:cache

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Support

For support, please email [email protected] or open an issue in the GitHub repository.

Acknowledgments