# Company Staff Monitoring, Task Management & Salary Automation System

Laravel-based web application developed from the Bangla requirements document (`company_requirements_bangla.docx`).

## Implemented MVP Modules

- Role-based login and route protection (`super_admin`, `admin`, `staff`)
- Attendance start/stop workflow with mandatory 1-minute video metadata
- Critical rule: **attendance start blocked after 10:00 AM (Asia/Dhaka)**
- Lunch start/end tracking with over-1-hour flag
- Daily work log submission module
- Task assignment, task progress update, and proof-based task submission (file/link)
- Admin review flow (approve/rework/reject) with point awarding
- Point-based salary reporting view
- Admin and staff dashboards

## Core Technical Notes

- Timezone set to `Asia/Dhaka`
- Custom middleware: `role`
- Database schema includes key tables for attendance, lunch, work logs, tasks, submissions, points, salary rules/records, settings, and activity logs
- Seeded demo accounts and default salary rule

## Demo Accounts

Password for all accounts: `password`

- `superadmin@company.test`
- `admin@company.test`
- `staff@company.test`

## Setup & Run

1. Install dependencies:

```powershell
composer install
```

2. Prepare environment:

```powershell
copy .env.example .env
php artisan key:generate
```

3. Configure database in `.env`.

> If SQLite PDO driver is missing in your PHP build, use MySQL credentials instead of SQLite.

4. Run migration + seed:

```powershell
php artisan migrate:fresh --seed
```

5. Start server:

```powershell
php artisan serve
```

6. Open browser:

`http://127.0.0.1:8000/login`

## Current Validation Status

- Route registration verified via `php artisan route:list`
- Full DB migration could not be executed in this environment due missing SQLite PDO driver (`could not find driver`)
