I.V.D. Assets
I.V.D. Assets is a web application developed with Laravel 5.2, that caters to the needs of I.T. Departments and Help Desks.
- Manage all your I.T. assets
- Ticketing System functionality
- Different User Roles to safeguard Asset Information
Work In Progress
- Slack Integration for notifications of new Tickets and Asset Movements
- Reports (Currently DataTables can be filtered and exported as .csv, .xslx or copied)
- More functionality for Tickets (Attachments, Reports)
Demo
The database is reset every 24 hours.
Demo Accounts
Super Administrator
Can use all functionality, and create/edit Locations, Divisions, Suppliers, Ticket Statuses, Priorities, Types and more.
- User Name: [email protected]
- Password: superadmin
Administrator
Can use Assets and Tickets functionality.
- User Name: [email protected]
- Password: adminuser
End User
Can only use Tickets functionality.
- User Name: [email protected]
- Password: useruser
Install
Clone the repository
git clone https://github.com/TTFerreira/ivd-assets.git
Run composer install
composer install
Rename .env.example
to .env
Follow the 'Configuration' instructions on the Official Laravel Documentation to complete the Laravel installation.
Configuration
.env
Open .env
and complete your host, database and email settings. All lines that have nothing next to =
must be completed. Mailgun works extremely well and it is free. If you prefer not to use Mailgun, remove the 2 lines for Mailgun from the .env
file.
MAILGUN_DOMAIN=
MAILGUN_SECRET=
Slack Integration
You will find 4 lines for Slack in the .env
file. All that you are required to do to get slack to work is to Create an Incoming Webhook here. Simply create a new webhook on your slack account and copy and paste it next to SLACK_WEBHOOK=
in the .env
file, without any quotes. You're welcome to change the default channel and bot name there as well.
Slack integration is disabled by default. If you want to use Slack, change SLACK_ENABLED=flase
to SLACK_ENABLED=true
You can also edit the Slack Integration in more detail within app/config/slack.php
Time Zone
Open config/app.php
and set your time zone.
Database Migration and Seeds
Migrate
Run artisan migrate
php artisan migrate
Database Seeds
We have included several database seeds to create items required for the application to work.
- Asset Types
- Manufacturers
- Warranty Types
- Ticket Types
- Ticket Statuses
- Ticket Priorities
- Roles
- Default Super Administrator Account
- Super Administrator Role for the Account
You must run the database seed in order for the application to function.
However, we have also included several extra seeds that you can include if you want some demo content. The demo content is also required for the Unit Tests to function.
So before running db:seed
open the database/seeds/DatabaseSeeder.php
file. Uncomment any extra seeds you would like to include, then run db:seed
php artisan db:seed
Super Administrator User
A Super Administrator account is created during the normal db:seed
and the role of Super Administrator is assigned to the account. After logging in to the application, head over to admin/users/
and edit the user account to match your name, email and password. Password must be a minimum of 6 characters long. There must also be one (1) Super Administrator user at all times. So you cannot change the role of the only Super Administrator user account.
The login details for the account are as follows.
- User Name: [email protected]
- Password: superadmin
Tests
Create your test sqlite file. Within the database
folder, create a file named testing.sqlite
If you want to use a different file, make sure to change the sqlite_testing
section within config/database.php
to reflect your file.
Run migrate
on the test Database
php artisan migrate --database=sqlite_testing
Edit database/seeds/DatabaseSeeder.php
Uncomment ALL the Seeders
Run db:seed
on the test Database
php artisan db:seed --database=sqlite_testing
PHPunit
Run phpunit
from the root folder to run all the tests for the application.
To run a specific test, first get the name of test file, and the name of the test, from within the tests
folder. Then run the command as follows.
phpunit tests/folder/filename --filter=testname
Example
phpunit tests/models/StatusTest --filter=testCreateNewStatus
There are currently 92 tests, with 526 assertions.
Credits/Packages
License
Licensed under the MIT license.