The aim of this app is to provide a simple front end for staff to submit a support request, using fields to easily capture the data.
Frameworks are Laravel 5.6, Blade, Bootstrap 4, and jQuery. I have configured the project to use LESS but there is very little to migrate should you want to use something else.
Configurable items include:
- Form heading
- Form title
- Intro text on form page
- Support provider list (name and email) with default setting
- Option to show one or multiple providers
- Staff list
- Option to display staff list dropdown or regular input fields (in case you don't want to maintain a staff list)
- Issue type list
- User management
Other features:
- Access control - Admin/Editor/Viewer
- Log viewer (all tickets are written to the log)
On submitting, an email will be sent to the support provider with:
- Intro text
- Staff details (name, preferred contact method)
- Issue type
- Details
The email will be sent from the staff member's email address, so this is ideal for support providers that send an automated response when they receive a request (e.g. Zendesk), confirming a ticket has been created.
A few quick notes for Windows + Vagrant (e.g. Homestead) devs:
- You will probably have to SSH into the Vagrant box to run the composer and artisan commands. I'm sure there's a way around this, but if you're struggling to run these commands from a bash console, this is the easiest thing to do.
- Unless you already have npm running properly in your environment, save yourself the hassle and install node.js for Windows now (unless you feel like wrasslin' with Vagrant for hours).
- Don't forget to update your hosts file, as well as Homestead.yaml if you're using it.
Oh, one other thing - I highly recommend using mailtrap.io for testing your dev output. It's really simple to set up and is easier than building render methods (ymmv of course).
As follows:
- Clone the repo
- Run composer install
- Copy the .env.example to .env, update the settings to match your environment.
- Add User table seed config to your .env file - see UsersTableSeeder.php for the specifics
- Generate an app key - php artisan key:generate
- Create your database
- Migrate and seed your database - php artisan:migrate --seed (or leave the seed switch off if you prefer not to)
- Run npm install from the project root
- Run npm run dev - this will copy Bootstrap 4 and jQuery into your public directory (via Webpack)
- Pagination
- Log exporting
- LDAP to pull AD users in via cron job