Automating conviction vacation in King County.
One in four Washingtonians have been involved in the state criminal justice system. Those with a criminal record face significant barriers to daily life after completing their prison terms, making it harder to find housing and employment, to gain professional credentials, and to be involved in the life of their community.
Washington state’s New Hope Act makes it easier for people with past criminal records to have their convictions vacated. Yet the system is slow and inefficient. We have identified opportunities to use technology to streamline this process, and want to explore which of these technological possibilities would make the most sense to prototype, given user needs and volunteer resources.
Currently the entire system is a single page application that runs on GitHub Pages and uses React. In this future this may change as we add more features and develop the system further but this works well for now.
In the project directory, you can run:
-
Ensure you have
nodejsinstalled on your machine using whatever system package manager, on Mac using homebrew run:brew install nodejs -
Install project dependecies
npm install -
Start the app in development mode
npm start -
Visit http://localhost:3000 to view it in the browser
A developer workflow using Docker can be done by building the image locally or pulling from Docker Hub.
This image should be for development only and should not be used in production.
-
Ensure you have
dockerinstalled on your machine. Refer to the Docker install instructions for more information. -
Pull the image from Docker Hub
docker pull openseattle/convictionvacation:0.0.1 -
Run the image and expose port 3000
docker run -p 3000:3000 openseattle/convictionvacation:0.0.1Note: Environment variables can be added with a
-eflag for advanced configurations -
Visit http://localhost:3000 to view it in the browser
-
Shut down the container by viewing all running containers with
docker ps -athendocker stop <container_name> -
After making changes, regenerate
node_modulesthen mount the files in the container to enable hot reloading.docker run -v `pwd`:/root -p 3000:3000 openseattle/convictionvacation:0.0.1 npm install docker run -v `pwd`:/root -p 3000:3000 openseattle/convictionvacation:0.0.1Note: Windows users will need to escape the path (See this comment. The commands may take a few minutes.
docker run -v //$(pwd):/root -p 3000:3000 openseattle/convictionvacation:0.0.1 npm install docker run -v //$(pwd):/root -p 3000:3000 openseattle/convictionvacation:0.0.1
Launches the test runner in the interactive watch mode.
See the section about running tests
for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Confirm the Docker container is running docker ps -a.
The output should show the container status:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d38d26e6cd69 test:latest "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 0.0.0.0:3000->3000/tcp blissful_meitner
Under NAMES generated by docker, find the running container and open a shell:
docker exec -it blissful_meitner /bin/sh