HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/smarthr-co-in/demo/laravel/README.md
# SmartHR - Laravel Application

A comprehensive Human Resource Management System built with Laravel framework, featuring modern UI components and extensive functionality.

## 📁 Project Structure

### Template Directory (`template/`)
The main Laravel application containing the complete HR management system:

#### App Structure (`template/app/`)
```
template/app/
├── Http/
│   └── Controllers/
│       ├── Controller.php              # Base controller class
│       └── CustomAuthController.php    # Custom authentication controller
├── Models/
│   └── User.php                        # User model for authentication
└── Providers/
    └── AppServiceProvider.php          # Main service provider
```

#### Configuration (`template/config/`)
```
template/config/
├── app.php              # Main application configuration
├── auth.php             # Authentication and authorization settings
├── cache.php            # Cache driver configuration
├── database.php         # Database connection settings
├── filesystems.php      # File storage configuration
├── logging.php          # Logging configuration
├── mail.php             # Mail service configuration
├── queue.php            # Queue configuration
├── session.php          # Session configuration
└── services.php         # Third-party service configurations
```

#### Database (`template/database/`)
```
template/database/
├── factories/
│   └── UserFactory.php                 # User model factory for testing
├── migrations/
│   ├── 0001_01_01_000000_create_users_table.php      # Users table migration
│   ├── 0001_01_01_000001_create_cache_table.php      # Cache table migration
│   └── 0001_01_01_000002_create_jobs_table.php       # Jobs table migration
└── seeders/
    └── DatabaseSeeder.php              # Main database seeder
```

#### Public Assets (`template/public/`)
```
template/public/
├── build/              # Compiled and built assets from resources/
│   ├── css/            
│   ├── js/             
│   ├── fonts/          
│   ├── img/            
│   ├── plugins/        
│   ├── scss/           
│   └── .vite/                  # Vite build artifacts
│       └── manifest.json       # Asset manifest file
├── favicon.ico         # Website favicon (in built)
├── index.php           # Laravel application entry point
├── robots.txt          # Search engine crawling directives
└── .htaccess           # Apache configuration
```

#### Resources (`template/resources/`)
```
template/resources/
├── css/                # Compiled CSS stylesheets
├── fonts/              # Custom font files
├── img/                # Application images and media
├── js/                 # JavaScript files and libraries
├── plugins/            # Third-party plugin integrations
├── scss/               # SCSS source files for styling
└── views/              # Blade template files for UI rendering
    ├── components/                  # Reusable UI components
    │   ├── breadcrumb.blade.php    # Breadcrumb navigation component
    │   └── modal-popup.blade.php   # Modal popup component
    ├── layout/                     
    │   ├── mainlayout.blade.php    # Main application layout
    │   └── partials/               # Layout partial components
    │       ├── footer-scripts.blade.php  # JavaScript includes
    │       ├── head.blade.php            # CSS includes
    │       ├── header.blade.php          # Application header
    │       └── sidebar.blade.php         # Navigation sidebar
    ├── activity.blade.php          
    ├── add-invoices.blade.php       
    ├── index.blade.php             # home page
    └── ...                         # All other page files
```

#### Routes (`template/routes/`)
```
template/routes/
├── console.php        # Console command routes
└── web.php            # Web application routes 
```

#### Bootstrap (`template/bootstrap/`)
```
template/bootstrap/
├── app.php             # Application bootstrap file
├── providers.php       # Service provider configuration
└── cache/              # Bootstrap cache directory
```

#### Storage (`template/storage/`)
```
template/storage/
├── app/                # Application-specific files
├── framework/          # Framework cache and sessions
└── logs/               # Application log files
```

#### Tests (`template/tests/`)
```
template/tests/
├── Feature/            # Feature tests for application functionality
├── Unit/               # Unit tests for individual components
└── TestCase.php        # Base test case class
```

#### Root Files
```
template/
├── artisan             # Laravel command-line tool
├── composer.json       # PHP dependency definitions
├── composer.lock       # Locked dependency versions
├── package.json        # Node.js dependency definitions
├── package-lock.json   # Locked Node.js dependencies
├── vite.config.js      # Vite build configuration
├── phpunit.xml         # PHPUnit testing configuration
├── .gitattributes      # Git attributes configuration
├── .gitignore          # Git ignore patterns
├── .editorconfig       # Editor configuration
└── README.md           # Project documentation
```

## 🚀 Installation Steps

### Prerequisites
- PHP >= 8.1
- Composer
- MySQL/PostgreSQL
- Node.js & NPM (for asset compilation)
- Web server (Apache/Nginx) or use Laravel's built-in server

### Step 1: Install PHP Dependencies
```bash
composer install  
composer update
```

### Step 2: Environment Configuration
```bash
cp .env.example .env
php artisan key:generate
```

Edit `.env` file with your database credentials:
```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=smarthr
DB_USERNAME=your_username
DB_PASSWORD=your_password
```

### Step 3: Database Setup
```bash
php artisan migrate
```

### Step 4: Install Node Dependencies
```bash
npm install
```

### Step 5: Asset Compilation
```bash
npm run dev          # Development build
npm run build        # Production build
```

### Step 6: Storage and Cache Setup
```bash
php artisan storage:link
php artisan config:cache
php artisan route:cache
php artisan view:cache
```

### Step 7: Set Permissions (Linux/Mac)
```bash
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache
```

### Step 8: Start the Application
```bash
php artisan serve
```

The application will be available at `http://localhost:8000`

## 📚 Key Features

- **User Management**: Complete user registration, authentication, and authorization
- **HR Management**: Employee management, training, timesheets, and performance tracking
- **Project Management**: Project tracking, task management, and team collaboration
- **Communication**: Video/voice calling, social feed, and messaging
- **Reporting**: Comprehensive reporting and analytics
- **Responsive Design**: Modern, mobile-friendly interface
- **Plugin Integration**: 50+ third-party plugins for enhanced functionality
- **Asset Management**: Organized CSS, JavaScript, and image assets
- **Modular Structure**: Well-organized Laravel application architecture

## 📝 License

This project is proprietary software. All rights reserved.

## 🤝 Support

For support and questions, please contact the development team or refer to the documentation in the `documentation/` folder.

---

**Note**: This is a Laravel-based HR management system with comprehensive documentation and modern UI components. Make sure to follow Laravel best practices and security guidelines during development and deployment.