Database Implementation

Following is a summary of all the tables that the application has, along with a short summary of what purpose it serves.

N.B. Tables created by Laravel (e.g. migrations) have been omitted.

The latest version of the ERD can be viewed here.

Table

Description

Table

Description

audits

An access log of all API interactions.

cached_geocode_results

Used to cache the geocoding of a textual address.

collection_taxonomies

A pivot to link collections to taxonomies.

collections

A grouping of related taxonomies.

files

The representations of all physical files stored on disk/cloud.

holiday_opening_hours

The opening hours for a service location during a holiday period.

locations

The physical locations that services operate in.

notifications

A log of all communications (email and SMS) that have been sent out.

organisations

The organisations that provide services.

page_feedbacks

End-user feedback provided for pages on the frontend website.

referrals

When a person is referred to a service either by themself or on behalf of. Most of the fields on this table are encrypted.

regular_opening_hours

The standard opening hours for a service location.

report_schedules

A schedule used to automatically generate reports.

report_types

The type of report that can be generated.

reports

An internal report to provide the data stored in the database in a presentable aggregated form. This is a physical file (e.g. PDF or Spreadsheet).

roles

The different types of backend users.

search_histories

A log of all searches made and a count of the results returned. Used for analytics.

service_criteria

The criteria associated with a single service.

service_locations

A pivot to link services to locations.

service_taxonomies

A pivot to link services to taxonomies.

services

A service offered by an organisation (e.g. Debt Advice).

social_medias

Social media accounts for a service.

status_updates

A paper-trail of when users update the status of a referral.

taxonomies

A categorisation for data (e.g. Category or Persona).

update_requests

Stores the information for updating a resource. The data is used to update the resource/table(s) if the update request is accepted by an admin.

useful_infos

Useful information for a service.

user_roles

A pivot to link users to roles.

users

A backend user of the system.