├── public ├── favicon.ico ├── robots.txt ├── index.php └── .htaccess ├── database ├── .gitignore ├── seeders │ ├── TicketSeeder.php │ ├── VendorSeeder.php │ ├── DepartmentSeeder.php │ ├── DatabaseSeeder.php │ └── TicketStatusSeeder.php ├── factories │ ├── DepartmentFactory.php │ ├── VendorFactory.php │ ├── TicketFactory.php │ └── UserFactory.php └── migrations │ ├── 2024_06_09_000007_create_categories_table.php │ ├── 2024_06_09_000002_create_ticket_statuses_table.php │ ├── 2024_06_09_000000_create_departments_table.php │ ├── 2024_06_09_000009_add_user_type_to_users_table.php │ ├── 2024_06_09_000010_add_color_to_ticket_statuses_table.php │ ├── 2024_06_09_000011_add_default_status_to_ticket_statuses_table.php │ ├── 2024_06_09_000001_create_vendors_table.php │ ├── 2024_06_09_000008_add_category_id_to_tickets_table.php │ ├── 2025_11_02_020503_allow_null_user_id_in_comments_table.php │ ├── 2025_11_02_012518_create_notifications_table.php │ ├── 2024_06_09_000005_create_ticket_user_table.php │ ├── 2024_06_09_000006_create_comments_table.php │ ├── 2024_06_09_000004_create_tickets_table.php │ ├── 0001_01_01_000001_create_cache_table.php │ ├── 2025_11_02_021315_add_default_admin_user.php │ ├── 2024_06_09_000003_add_vendor_id_and_department_id_to_users_table.php │ ├── 0001_01_01_000000_create_users_table.php │ └── 0001_01_01_000002_create_jobs_table.php ├── bootstrap ├── cache │ └── .gitignore ├── providers.php └── app.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── private │ │ └── .gitignore │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── cache │ ├── data │ │ └── .gitignore │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── ith-screenshot.jpg ├── ith-screenshot2.png ├── tests ├── Unit │ └── ExampleTest.php ├── Feature │ ├── ExampleTest.php │ ├── Auth │ │ ├── RegistrationTest.php │ │ ├── PasswordConfirmationTest.php │ │ ├── AuthenticationTest.php │ │ ├── PasswordUpdateTest.php │ │ ├── EmailVerificationTest.php │ │ └── PasswordResetTest.php │ └── ProfileTest.php ├── TestCase.php └── Pest.php ├── postcss.config.js ├── resources ├── js │ ├── app.js │ └── bootstrap.js ├── views │ ├── components │ │ ├── input-label.blade.php │ │ ├── text-input.blade.php │ │ ├── auth-session-status.blade.php │ │ ├── dropdown-link.blade.php │ │ ├── input-error.blade.php │ │ ├── danger-button.blade.php │ │ ├── secondary-button.blade.php │ │ ├── primary-button.blade.php │ │ ├── nav-link.blade.php │ │ ├── responsive-nav-link.blade.php │ │ ├── application-logo.blade.php │ │ ├── dropdown.blade.php │ │ └── modal.blade.php │ ├── auth │ │ ├── confirm-password.blade.php │ │ ├── forgot-password.blade.php │ │ ├── verify-email.blade.php │ │ ├── reset-password.blade.php │ │ ├── login.blade.php │ │ └── register.blade.php │ ├── profile │ │ ├── edit.blade.php │ │ └── partials │ │ │ ├── update-password-form.blade.php │ │ │ ├── delete-user-form.blade.php │ │ │ └── update-profile-information-form.blade.php │ ├── layouts │ │ ├── guest.blade.php │ │ └── app.blade.php │ ├── category │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── department │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── ticket │ │ └── create.blade.php │ ├── ticket_status │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── vendors │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ ├── show.blade.php │ │ └── index.blade.php │ └── welcome.blade.php └── css │ └── app.css ├── app ├── Http │ ├── Controllers │ │ ├── Controller.php │ │ ├── Auth │ │ │ ├── EmailVerificationPromptController.php │ │ │ ├── EmailVerificationNotificationController.php │ │ │ ├── VerifyEmailController.php │ │ │ ├── PasswordController.php │ │ │ ├── ConfirmablePasswordController.php │ │ │ ├── PasswordResetLinkController.php │ │ │ ├── RegisteredUserController.php │ │ │ ├── AuthenticatedSessionController.php │ │ │ └── NewPasswordController.php │ │ ├── NotificationController.php │ │ ├── CategoryController.php │ │ ├── DepartmentController.php │ │ ├── ProfileController.php │ │ ├── Traits │ │ │ └── ManagesTicketSorting.php │ │ ├── DashboardController.php │ │ ├── VendorController.php │ │ ├── TicketStatusController.php │ │ └── UserController.php │ └── Requests │ │ ├── ProfileUpdateRequest.php │ │ └── Auth │ │ └── LoginRequest.php ├── Models │ ├── Category.php │ ├── Department.php │ ├── TicketStatus.php │ ├── Comment.php │ ├── Vendor.php │ ├── User.php │ └── Ticket.php ├── View │ └── Components │ │ ├── AppLayout.php │ │ └── GuestLayout.php ├── Providers │ └── AppServiceProvider.php ├── Rules │ └── ValidAssignee.php ├── Console │ └── Commands │ │ └── AutoCloseResolvedTickets.php ├── Notifications │ ├── TicketCreated.php │ └── TicketUpdated.php └── Policies │ └── TicketPolicy.php ├── .gitattributes ├── vite.config.js ├── .editorconfig ├── .gitignore ├── routes ├── console.php ├── auth.php └── web.php ├── artisan ├── package.json ├── tailwind.config.js ├── LICENSE ├── config ├── services.php ├── filesystems.php ├── cache.php ├── mail.php ├── queue.php ├── auth.php └── app.php ├── phpunit.xml ├── .env.example └── composer.json /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite* 2 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/private/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !private/ 3 | !public/ 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /ith-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kidino/ith/HEAD/ith-screenshot.jpg -------------------------------------------------------------------------------- /ith-screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kidino/ith/HEAD/ith-screenshot2.png -------------------------------------------------------------------------------- /bootstrap/providers.php: -------------------------------------------------------------------------------- 1 | toBeTrue(); 5 | }); 6 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | import './bootstrap'; 2 | 3 | import Alpine from 'alpinejs'; 4 | 5 | window.Alpine = Alpine; 6 | 7 | Alpine.start(); 8 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | get('/'); 5 | 6 | $response->assertStatus(200); 7 | }); 8 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | compiled.php 2 | config.php 3 | down 4 | events.scanned.php 5 | maintenance.php 6 | routes.php 7 | routes.scanned.php 8 | schedule-* 9 | services.json 10 | -------------------------------------------------------------------------------- /resources/views/components/input-label.blade.php: -------------------------------------------------------------------------------- 1 | @props(['value']) 2 | 3 | 6 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | false]) 2 | 3 | merge(['class' => 'border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm']) }}> 4 | -------------------------------------------------------------------------------- /resources/views/components/auth-session-status.blade.php: -------------------------------------------------------------------------------- 1 | @props(['status']) 2 | 3 | @if ($status) 4 |
8 | {{ __('Ensure your account is using a long, random password to stay secure.') }} 9 |
10 |8 | {{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.') }} 9 |
10 |8 | {{ __("Update your account's profile information and email address.") }} 9 |
10 || ID | 27 |Name | 28 |Actions | 29 |
|---|---|---|
| {{ $category->id }} | 35 |{{ $category->name }} | 36 |37 | Edit 38 | 43 | | 44 |
| No categories found. | 48 |||
| ID | 27 |Name | 28 |Actions | 29 |
|---|---|---|
| {{ $department->id }} | 35 |{{ $department->name }} | 36 |37 | Edit 38 | 43 | | 44 |
| No departments found. | 48 |||
A modern IT ticketing and support platform for your organization.
21 | @auth 22 | Go to Dashboard 23 | @else 24 | Login 25 | @endauth 26 |Easily create and track your IT support tickets for any issue or request.
37 |Work with IT, vendors, and users to resolve issues quickly and efficiently.
44 |Monitor ticket status, view analytics, and improve your IT support process.
51 || ID | 45 |Name | 46 |Actions | 48 ||
|---|---|---|---|
| {{ $user->id }} | 54 |{{ $user->name }} | 55 |{{ $user->email }} | 56 |57 | Edit 58 | | 59 |
| No users found. | 63 ||||
| ID | 26 |Code | 27 |Name | 28 |Contact | 29 |Actions | 30 |
|---|---|---|---|---|
| {{ $vendor->id }} | 36 |{{ $vendor->code }} | 37 |{{ $vendor->name }} | 38 |
39 |
40 | @if($vendor->person_in_charge)
41 |
50 | {{ $vendor->person_in_charge }}
42 | @endif
43 | @if($vendor->email)
44 | {{ $vendor->email }}
45 | @endif
46 | @if($vendor->phone_number)
47 | {{ $vendor->phone_number }}
48 | @endif
49 | |
51 | 52 | View 53 | Edit 54 | 59 | | 60 |
| No vendors found. | 64 |||||
| ID | 28 |Name | 29 |Color | 30 |Default | 31 |Actions | 32 |
|---|---|---|---|---|
| {{ $status->id }} | 38 |{{ $status->name }} | 39 |40 | @if($status->color) 41 | 42 | {{ $status->color }} 43 | 44 | @endif 45 | | 46 |47 | @if($status->default_status) 48 | Default 49 | @endif 50 | | 51 |52 | View 53 | Edit 54 | 59 | | 60 |
| No statuses found. | 64 |||||