Repository for the Accessible UI (AccUI) Helper Project - CSCI2340 Software Engineering Course.
Our web application allows for developers to check their website's accessibility as they develop, and generates automated fixes for any accessibility violation the user wants to correct. For more information about the accessibility guidelines we follow, you can refer to the W3C Accessibility Standards page. Unlike many other accessibility evaluatora, the site is able to the analyze dynamic webpages with multiple pages.
Official webpage (Deployed on a VM hosted by the CS department, and open until Dec 21, 2024): https://accui.cs.brown.edu
- Front-End: React.js
- Back-End: Express
- Language: TypeScript
- Delivery: Docker and Nginx
- Node.js (
v16
and up) - React.js
- OpenAI API key. Add a
.env
file to the root ofaccessible-ui-helper/backend/
, and inside the file addGPT_API_TOKEN=<yourOpenAiApiKey>
. For more info on OpenAI API keys, check the OpenAI website. - Docker (if running via containers using
docker-compose
)
.
βββ .github # Old unused code
βββ accui-test-folder # Sample project users can use to test AccUI
βββ backend # Contains back-end code
β βββ ...
β βββ Dockerfile
βββ frontend # Contains front-end code
β βββ ...
β βββ Dockerfile
βββ nginx
β βββ default.conf # Nginx config
β βββ Dockerfile
βββ status # Contains status.md files for each contributor
β βββ ...
βββ .gitignore
βββ code_style.md
βββ docker-compose.yml # Configuration to build and run nginx, frontend, and backend containers
βββ package-lock.json
βββ package.json
βββ LICENSE
βββ README.md
βββ ... # Transpiler config, homepage image
To run this application locally, follow the installation instructions in the frontend README, as well as the backend README files.
If running locally, run the following commands in different terminal windows to start the front-end and back-end
npm start # front-end
npm run dev # back-end with hot reload
If running the application on docker, please make sure the docker daemon is running (you can check docker desktop if on a Mac or Windows PC). Then run
docker-compose up --build
If you want to test AccUI's capabilities, we have the accui-test-folder in the root of this repo you can feel free to upload into the web app. It is a simple Vanilla HTML/CSS/JS project with an index.html
an and about.html
page.
You can run an example project located in the frontend public directory. Download the zip file and unzip it. Then simply upload the unzipped file into specified upload box on the home page.
Front-End
Back-End