"Standardize your incident management processes, centralized and synced in one place."
- Project Description
- Flow of the Platform
- UML Diagrams
- Design
- Installation
- Database Setup
- Usage
- Previews
An IT incident (be it of software or hardware origin) is defined as any event that is not part of the standard operation of an organization and that causes, or may cause, an interruption, reduction, loss or disruption in the quality of this organization's operations, services or functions.
This is a platform/app designed for in-house use by staff, administrators, employees, managers... to manage said incidents in any type of organization or establishment, using a simple ticketing system.
Incidents are classified by type (software, hardware, *service) and priority (high, medium, low). The tickets must be resolved by order of importance.
*services are always of low priorities since they are considered as demands instead of incidents.
The purpose of such a system is to waste less time in dealing with issues therefore reducing costs and having better communication and traceability.
It begins by either signing in or signing up for an account (which will require validation from an administrator before being activated).
The targeted audience then can choose to create a ticket, with all the required informations and is in a pending status. The administrator then evaluates the ticket, opens it then assign the issue to the respective actor fit to deal with said issue (in this project as example: a developer for a software issue, a technician for a hardware issue).
After the issue has been dealed with the ticket is marked as resolved.
(Activity, Class, Sequence, Use Case)
Made with adobe XD (file in design folder).
Quick overview : Desktop
Quick overview : Mobile
Composer and Node are required.
Install dependencies:
composer install
npm install
Import tables from the sql file in the SQL folder SQL/censync_db.sql
.
Rename/copy .env.example file into .env (or create a new file), then copy the informations below and paste into your file:
# Database Credentials: *fill with your proper database information
HOST=
DB_NAME=
USERNAME=
PASSWORD=
# Developer mode for error handling: *change to OFF when deploying
DEV_MODE=ON
# Database Account Table:
ACCOUNTS_TABLE=user
# Database Account Columns:
ACCOUNTS_ID=user_id
ACCOUNTS_ROLE=role
ACCOUNTS_EMAIL=email
ACCOUNTS_FIRSTNAME=firstname
ACCOUNTS_LASTNAME=lastname
ACCOUNTS_PASSWORD=password
ACCOUNTS_STATUS=status
# Database Audience Table: *The recipient table for account for 'aud' in JWT token payload
AUDIENCE_TABLE=ticket
# Database Other Tables: *Other tables you may need, as argument for your CRUD operations in controller methods
NOTES_TABLE=note
# Data Source Name: *do not modify! $_ENV['DSN'] is used as first argument for your PDO connection
DSN=mysql:host=${HOST};dbname=${DB_NAME}
# API Token Authentication Secret Keys: *fill with your own key or add new keys as needed
SECRET_KEY=
- HOST, DB_NAME, USERNAME, PASSWORD: fill with your database credentials.
- DEV_MODE: for error handling when testing the API, delete it's value or replace to deactivate it when going into production or deploying.
- SECRET_KEY: fill with your own secret key.
Run PHP's Local Development Server with this custom command in your terminal (localhost:8080):
composer serve:local
If you want to run the server on your local network for testing (your local IP address, ex: 192.168.1.2:8080):
composer serve:remote
- Backend made with: https://github.com/KhomsiAdam/PHP_MVC_API_Framework
Account creation:
Dashboard preview:
Account activation by Admin:
Ticket creation by Employee:
Ticket assignement and Note by Admin:
Ticket resolution by Developer or Technician:
Note update and deletion, Ticket deletion (by Admin):
Account deletion by Admin:
User profile image upload and delete:
Admin deleting user profile image:
Account creation:
Dashboard preview:
Account activation by Admin:
Ticket creation by Employee:
Ticket assignement and Note by Admin:
Ticket resolution by Developer or Technician:
Note update and deletion, Ticket deletion (by Admin):
Account deletion by Admin:
User profile image upload and delete:
Admin deleting user profile image: