/platform

The Accessibility in Action platform.

Primary LanguagePHPBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Accessibility in Action

Project license Latest release Check status Code coverage Localization status

Accessibility in Action is a two-year initiative managed by the Institute for Research and Development on Inclusion and Society (IRIS) that sets out to create an online platform which will support processes where people with disabilities have the power to make sure that policies, programs, and services by federally regulated entities are accessible to them and respect their human rights. Current consultation processes are built on a foundation of systemic ableism—they lack accountability, follow-through, and don't honour the expertise of people with disabilities.

The Accessibility in Action platform is co-designed and developed by the Inclusive Design Research Centre at OCAD University.

Technical Details

The platform is built as a progressive web application using the Laravel 8 framework.

Installation

For general deployment information, please see the Laravel 8.x deployment documentation.

The platform requires the following:

The deployment process should follow all of the recommended optimization processes.

Development and prototyping environments

In development and prototyping environments, a deployment should be followed by dropping the database tables, running all migrations and seeding the database:

php artisan migrate:fresh --seed

NOTE: This will drop all existing database tables. See the documentation for details.

Production environments

In production environments, a deployment should be followed by running all available migrations:

php artisan migrate

Development

Local development uses the Laravel Sail Docker environment.

Local development setup

  1. Install Docker Desktop.

  2. Add an alias to your shell as described here.

  3. Fork and clone the project repository (easiest with the Github CLI):

    gh repo fork accessibility-in-action/platform --clone
  4. Create a .env file from the included example file:

    cp .env.example .env
  5. Start the development environment by running the following command from within the project directory:

    sail up -d
  6. Generate an application key:

    sail artisan key:generate
  7. Run the required database migrations:

    sail artisan migrate

Working on the platform

For comprehensive instructions, consult the Laravel documentation. Here's an overview of how some key tasks can be carried out using Sail:

  • Composer commands may be executed by using sail composer <command>.
  • NPM commands may be executed by using sail npm <command>.
  • Artisan commands may be executed by using sail artisan <command>.

Development workflow

  • This project uses Conventional Commits, enforced by commitlint. All commit messages and pull request titles must follow these standards.
  • The prototype branch contains prototyped features for use in co-design sessions. It must be regularly updated with changes from the dev branch.
  • Feature prototyping must take place in a feature branch forked from the prototype branch. Feature prototype branches must be named according to the format prototype/<feature>. Once a feature prototype is ready to merge into prototype, the merge must be performed using a merge commit.
  • The dev branch contains refined features that have been prototyped and gone through one or more co-design sessions.
  • Feature refinement must take place in a feature branch forked from the prototype branch. Feature refinement branches must be named according to the format feature/<feature>. Once a refined feature is ready to merge into dev, the merge must be performed using a merge commit.
  • The main branch contains refined features that are considered production-ready.
  • Prereleases must be tagged from the dev branch.
  • Releases must be tagged from the main branch.

License

The Accessibility in Action platform is available under the BSD 3-Clause License.