Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ jobs:
build:
runs-on: ubuntu-latest

env:
PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }}
PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }}

steps:
- name: Check out code
uses: actions/checkout@v4
Expand All @@ -27,6 +23,9 @@ jobs:
fi

- name: Create .env file
env:
PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }}
PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }}
run: |
echo "PUBLIC_SUPABASE_URL=${{ secrets.PUBLIC_SUPABASE_URL }}" >> .env
echo "PUBLIC_SUPABASE_ANON_KEY=${{ secrets.PUBLIC_SUPABASE_ANON_KEY }}" >> .env
Expand Down
106 changes: 51 additions & 55 deletions Brief_Docs/Project Brief.txt → Brief_Docs/Project Brief.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,84 @@
Objective
One of the LIFT programme objectives is a thought leadership output focused on gathering all the insight from the best practice happening across our knowledge economy sectors into a digital resource that can support making these industries more inclusive and accessible.
# Project Brief

Since there are a vast number of toolkits which are broad reaching and comprehensive (including the launch of the GLA toolkits) � LIFT has decided to zoom in and focus our research into supporting neurodivergent people which is of pertinent interest and priority across our boroughs.
## Objective

Alot of the resources currently available are pdf and document formatted, often very compliance formatted hence not impacting the day-to-day workplace culture and environment. Whilst larger companies have resources available to dedicate whole teams to diversity and inclusion, SME�s don�t have such things available. LIFT therefore wants to tap into our access to larger businesses' resources and make it accessible to SME�s by digitising the work and making it interactive, palatable and useful day-to-day.
One of the LIFT programme objectives is a thought leadership output focused on gathering all the insight from the best practice happening across our knowledge economy sectors into a digital resource that can support making these industries more inclusive and accessible.

In focusing in on supporting neurodivergent people at on-boarding and development stages, we hope the resource can be used and useful to all employees � by generally making a more inclusive and adjusted workplace.
Since there are a vast number of toolkits which are broad reaching and comprehensive (including the launch of the GLA toolkits). LIFT has decided to zoom in and focus our research into supporting neurodivergent people which is of pertinent interest and priority across our boroughs.

Outline/brief
To develop a digital version of Islington Council�s existing workplace passport, that is accessible to a range of local employers, and provides a more user-friendly format than the existing pdf document. This should take the form of an online form, that provides the user with a downloadable and shareable document once complete. It should be simple, intuitive and fairly self-explanatory. It should also be easy to communicate across changing roles, workplaces and managers.
Alot of the resources currently available are pdf and document formatted, often very compliance formatted hence not impacting the day-to-day workplace culture and environment. Whilst larger companies have resources available to dedicate whole teams to diversity and inclusion, SMEs dont have such things available. LIFT therefore wants to tap into our access to larger businesses' resources and make it accessible to SMEs by digitising the work and making it interactive, palatable and useful day-to-day.

The user should have a profile and account that they can log into which is secure, and that allows them to review the information on the passport on a continuous basis. They should be able to update the passport as and when is necessary, including when their needs or circumstances change, and also when moving roles or when their line management changes.
In focusing in on supporting neurodivergent people at on-boarding and development stages, we hope the resource can be used and useful to all employees by generally making a more inclusive and adjusted workplace.

While we see this as a tool that employers would encourage new staff to use, the completed passport should be owned by the employee, not the employer.

Main Function and Deliverables
User journey:

1. Landing page that has a login[HM1][HM2]
2. Once logged in, the user sees a dashboard that has tiles for the following categories:
a. Profile
b. Wellness at work
c. My role as a parent or carer
d. My religion or beliefs
e. My experience as someone with a disability or long-term condition
f. Workplace adjustments and support
g. Additional information and resources
## Outline & Brief

Dashboard should look similar to the LIFT opportunities portal in appearance:
To develop a digital version of Islington Councils existing workplace passport, that is accessible to a range of local employers, and provides a more user-friendly format than the existing pdf document. This should take the form of an online form, that provides the user with a downloadable and shareable document once complete. It should be simple, intuitive and fairly self-explanatory. It should also be easy to communicate across changing roles, workplaces and managers.

The user should have a profile and account that they can log into which is secure, and that allows them to review the information on the passport on a continuous basis. They should be able to update the passport as and when is necessary, including when their needs or circumstances change, and also when moving roles or when their line management changes.

3. Profile should include basic account details: name, pronouns, job title, line manager, employer, and options to edit these.
4. Categories b-e include the questions as currently exist in the workplace passport, i.e. when the user clicks onto �wellness at work�, they are presented with the list of questions as they currently appear in the Beacons page
While we see this as a tool that employers would encourage new staff to use, the completed passport should be owned by the employee, not the employer.

5. When the user clicks on the question, a box pops up which allows them to enter their answer as free text.
## Main Function & Deliverables

### User Journey

1. Landing page that has a login
2. Once logged in, the user sees a dashboard that has tiles for the following categories (Dashboard should look similar to the LIFT opportunities portal in appearance):
a. Profile
b. Wellness at work
c. My role as a parent or carer
d. My religion or beliefs
e. My experience as someone with a disability or long-term condition
f. Workplace adjustments and support
g. Additional information and resources
3. Profile should include basic account details: name, pronouns, job title, line manager, employer, and options to edit these.
4. Categories b-e include the questions as currently exist in the workplace passport, i.e. when the user clicks onto wellness at work, they are presented with the list of questions as they currently appear in the Beacons page
5. When the user clicks on the question, a box pops up which allows them to enter their answer as free text.
6. It is not mandatory for the user to complete each question.
7. Following free text answer to be given an option of follow up actions, to include:
a. physical sensory environment adjustment
b. equipment requirements
c. time travel adjustment
d. additional resource
e. work style/ work pattern adjustment
f. 'Other' > additional free form text
8. When the user assigns an action, it should populate a line in the workplace adjustments and support section, which is a separate category on the dashboard. (we might need to discuss this bit further)
9. Workplace adjustments and support section should bank all the different actions assigned, and give the user the option to add additional lines.
10. Additional information and resources section should have links to further resources we will provide these.
a. physical sensory environment adjustment
b. equipment requirements
c. time travel adjustment
d. additional resource
e. work style/ work pattern adjustment
f. 'Other' > additional free form text
8. When the user assigns an action, it should populate a line in the workplace adjustments and support section, which is a separate category on the dashboard. (we might need to discuss this bit further)
9. Workplace adjustments and support section should bank all the different actions assigned, and give the user the option to add additional lines.
10. Additional information and resources section should have links to further resources we will provide these.
11. The user should be able to share the completed passport questions and workplace adjustments with their manager. This should be sent to the manager by email from the app. They should also be able to download a complete summary of their responses for their own reference. (again we might need to discuss this further)
12. We should include some basic instructions on how to complete the tool somewhere on the dashboard page or a help icon?
12. We should include some basic instructions on how to complete the tool somewhere on the dashboard page or a help icon?
13. Can there be some sort of audit trail of when the passport was created, reviewed, updated, and shared?

Timeline
### Timeline

- Final sprint to completed in 12 developer days / 2 weeks - 2nd half of May
- Need to do user testing after week 1 of second sprint - to get feedback

## User profile

User profile
To be used by managers and employers to help on-board and track progress, support and adjust needs of neurodivergent employees.

Neurodivergent and wider employees to communicate their reasonable workplace adjustments, changes in circumstances and needs to their line managers.

To positively impact the workplace environment by establishing a culture of inclusivity, communication and support

User case 1; someone just starting a new job
A person who is neurodivergent who needs adjustments in lighting and sound levels in work environment. They also are not comfortable disclosing their neurodiversity face to face. At induction the employer would explain that they are subscribed to a service where they can track their feelings about their work environment and contribute to a better workplace for everyone by sharing how they work best, and what optimum conditions would need to be in place.


User case 2; someone new line manager
User 1 has had their line manager changed. They no longer want to share physical adjustments they need but do want to alert them about social queues, how they like to be communicated with in the mornings and that they don�t like to speak at group meetings. They should be able to login, update info on new line manager, change what they can make public or not, and alert their new supervisor in an email. They should be able to add free form text to the email to intro the reason for the email, and add if there any actions or if its just something to be aware of.

User case 3; new job existing login
Similar to user 2 � they would be able to review on their dashboard what they would like to update and make public. They would update their workplace details and manager contacts on the dashboard. They would then be able to email an invitation to their manager to subscribe to and accept email alerts.
### User case 1; someone just starting a new job

A person who is neurodivergent who needs adjustments in lighting and sound levels in work environment. They also are not comfortable disclosing their neurodiversity face to face. At induction the employer would explain that they are subscribed to a service where they can track their feelings about their work environment and contribute to a better workplace for everyone by sharing how they work best, and what optimum conditions would need to be in place.

Compliance

- Touch base with Digital Services � DPIA will change
### User case 2; someone new line manager

- DPIA completion
User 1 has had their line manager changed. They no longer want to share physical adjustments they need but do want to alert them about social queues, how they like to be communicated with in the mornings and that they dont like to speak at group meetings. They should be able to login, update info on new line manager, change what they can make public or not, and alert their new supervisor in an email. They should be able to add free form text to the email to intro the reason for the email, and add if there any actions or if its just something to be aware of.

- WCAG 2.2 AA guidelines compliant
### User case 3; new job existing login

- Accessibility testing - check in about brand guidelines & accessibility with Alastair
Similar to user 2 they would be able to review on their dashboard what they would like to update and make public. They would update their workplace details and manager contacts on the dashboard. They would then be able to email an invitation to their manager to subscribe to and accept email alerts.

- Info stored on a Supabase DB
## Compliance

- Deployed on Vercel
- [ ] Touch base with Digital Services DPIA will change
- [ ] DPIA completion
- [ ] WCAG 2.2 AA guidelines compliant
- [ ] Accessibility testing - check in about brand guidelines & accessibility with Alastair
- [ ] Info stored on a Supabase DB
- [ ] Deployed on Vercel
19 changes: 11 additions & 8 deletions database.types.ts → src/lib/types/supabase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export type Database = {
id: string
is_latest: boolean | null
response_id: string | null
status: string
type: string
updated_at: string | null
user_id: string | null
Expand All @@ -52,17 +53,19 @@ export type Database = {
id?: string
is_latest?: boolean | null
response_id?: string | null
status?: string
type: string
updated_at?: string | null
user_id?: string | null
version: number
version?: number
}
Update: {
created_at?: string | null
description?: string | null
id?: string
is_latest?: boolean | null
response_id?: string | null
status?: string
type?: string
updated_at?: string | null
user_id?: string | null
Expand All @@ -89,7 +92,7 @@ export type Database = {
line_manager_name: string | null
line_manager_user_id: string | null
name: string | null
pronouns: string | null
pronouns: string[] | null
updated_at: string | null
user_id: string | null
}
Expand All @@ -103,7 +106,7 @@ export type Database = {
line_manager_name?: string | null
line_manager_user_id?: string | null
name?: string | null
pronouns?: string | null
pronouns?: string[] | null
updated_at?: string | null
user_id?: string | null
}
Expand All @@ -117,7 +120,7 @@ export type Database = {
line_manager_name?: string | null
line_manager_user_id?: string | null
name?: string | null
pronouns?: string | null
pronouns?: string[] | null
updated_at?: string | null
user_id?: string | null
}
Expand Down Expand Up @@ -155,7 +158,7 @@ export type Database = {
updated_at: string | null
user_id: string | null
version: number
visibility: string | null
visibility: string
}
Insert: {
created_at?: string | null
Expand All @@ -166,8 +169,8 @@ export type Database = {
status?: string | null
updated_at?: string | null
user_id?: string | null
version: number
visibility?: string | null
version?: number
visibility?: string
}
Update: {
created_at?: string | null
Expand All @@ -179,7 +182,7 @@ export type Database = {
updated_at?: string | null
user_id?: string | null
version?: number
visibility?: string | null
visibility?: string
}
Relationships: [
{
Expand Down
68 changes: 68 additions & 0 deletions supabase/migrations/20250528170555_schema_tweaks.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
-- 1. Auth: No Changes

-- 2. Profiles: Pronoun Arrays
-- Pronouns
-- Change pronouns to text array with exactly 3 elements
-- This means we can assign pronouns intelligently
-- ["he", "him", "his"]
-- ["they", "them", "theirs"]
alter table profiles
alter column pronouns type text[] using array[pronouns, '', ''],
add constraint pronouns_length_check check (array_length(pronouns, 1) = 3);

-- 3. Questions: Unique Order Numbers
-- Order
-- Make order column unique
alter table questions
add constraint questions_order_unique unique ("order");

-- 4. Responses: Default Privacy & Version Sequences
-- Visibility
-- Make visibility not null with default 'private'
alter table responses
alter column visibility set not null,
alter column visibility set default 'private';

-- Version
-- Create a sequence that increments by 1 when edited
create sequence response_version_seq;

-- Modify the version column to use the sequence
alter table responses
alter column version set default nextval('response_version_seq');

-- Set the current version values to start from the sequence
update responses
set version = nextval('response_version_seq')
where version is not null;

-- Add check constraint for version based on status
alter table responses
add constraint version_status_check check (
(status = 'skipped' and version is null) or
(status = 'skipped' and version is not null) or
(status = 'answered' and version is not null)
);

-- 5. Actions: Status (Active/Archived) & Version Sequences
-- Status
-- Add status column with active/archived options
alter table actions
add column status text not null default 'active' check (status in ('active', 'archived'));

-- Version
-- Create a sequence that increments by 1 when edited
create sequence action_version_seq;

-- Modify the version column to use the sequence
alter table actions
alter column version set default nextval('action_version_seq');

-- Set the current version values to start from the sequence
update actions
set version = nextval('action_version_seq')
where version is not null;

-- 6. Sharing Events: No Changes
-- 7. Sharing Event Responses: No Changes
-- 8. Sharing Event Actions: No Changes
Loading