# Creatia Backend Toolkit
This set of code serves as an extension to the Laravel web framework, and as such has all of the functionality inherent to Laravel, as well as extensions we may frequently make use of in the context of our business. The main functionality introduced or extended upon consists of the following:
- Authentication
- Permission Middleware
- Modular Code Separation
- API Based
- Enhanced Command Execution
- Introduction of Helpers
- Introduction of Bin
- Slack Integration
- Request Monitoring

# Authentication
The authentication used is based upon Java-Web-Tokens which are issued on a per-login basis for a given account, and in order to authenticate a user must send a HTTP-POST request containing a username and password. There are other aspects here, such as token refreshing, fetching of the permission model, logging out and other reasonably expected aspects of authentication.

# Permission Middleware
We introduce our own middleware here, known as Bouncer, which when called will intercept requests on routes it is called by. This will then check whether a given request and it's associated end user has permission to access this resource. Should a permission check fail, a notification will be fired in slack. All payloads that pass through bouncer are logged in the database. To make sure things never get bloated, it is recommended that this logging is trimmed from time to time.

# Modular Code Separation

# API Based

# Enhanced Command Execution

# Introduction of Helpers

# Introduction of Bin

# Slack Integration

# Request Monitoring