All Projects → codeforpdx → recordexpungPDX

codeforpdx / recordexpungPDX

Licence: MIT license
A project to automate the expungement of qualifying criminal records in Oregon. This project is done in conjunction with Qiu-Qiu Law.

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
SCSS
7915 projects
Makefile
30231 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to recordexpungPDX

heart
Heart is a project working directly with the LA City Attorney’s Homeless Engagement and Response Team. We are building a database and case management system to streamline their workflow and enable them to scale their program. Find us on the Hack for LA Slack #heart.
Stars: ✭ 27 (-40%)
Mutual labels:  civic-tech, code-for-america, record-expungement
clean-slate-data
No description or website provided.
Stars: ✭ 27 (-40%)
Mutual labels:  code-for-america, expungement
CTI-website-frontend
Join a worldwide movement to catalog 
every open source 
civic tech project.
Stars: ✭ 28 (-37.78%)
Mutual labels:  civic-tech, code-for-america
CampaignFinance
NC Campaign Finance Dashboard. Making NC Campaign Funds visible to all citizens
Stars: ✭ 36 (-20%)
Mutual labels:  civic-tech, code-for-america
Design System
Open source design and front-end development resources for creating Section 508 compliant, responsive, and consistent websites.
Stars: ✭ 192 (+326.67%)
Mutual labels:  civic-tech
Od
Česká otevřená data
Stars: ✭ 99 (+120%)
Mutual labels:  civic-tech
Covid19italia
Condividiamo informazioni e segnalazioni sul COVID19
Stars: ✭ 78 (+73.33%)
Mutual labels:  civic-tech
Nosdeputes.fr
Repository of NosDéputés.fr : the french parliamentary monitoring website
Stars: ✭ 69 (+53.33%)
Mutual labels:  civic-tech
friendly-plans
Supporting system of behavioral therapy of people with autism. Check starter kit:
Stars: ✭ 24 (-46.67%)
Mutual labels:  civic-tech
publiccode.yml
A metadata description standard for public software and policy repositories
Stars: ✭ 18 (-60%)
Mutual labels:  civic-tech
Theyworkforyou
Keeping tabs on the UK's parliaments and assemblies
Stars: ✭ 173 (+284.44%)
Mutual labels:  civic-tech
Councilor Voter Guide
縣市長 / 議員 投票指南
Stars: ✭ 103 (+128.89%)
Mutual labels:  civic-tech
adopt-a-drain
A web application that allows citizens to "adopt" a storm drain in San Francisco. In use, and in development at other brigades. Looking for a maintainer or someone interested in developing further in collaboration with others across the country.
Stars: ✭ 43 (-4.44%)
Mutual labels:  code-for-america
Vets Api
API powering VA.gov
Stars: ✭ 95 (+111.11%)
Mutual labels:  civic-tech
windfall-elimination
Windfall Elimination Provision Awareness Project: improving the experience of retirees around an obscure Social Security rule affecting 8+ states (previously https://ssacalculator.org)
Stars: ✭ 23 (-48.89%)
Mutual labels:  code-for-america
Captain Fact Frontend
🔎 CaptainFact - Frontend. The one you see on https://captainfact.io
Stars: ✭ 74 (+64.44%)
Mutual labels:  civic-tech
Awesome Italian Public Datasets
A selection of interesting Open dataset from the Italian Public Administration and Civic Data use cases
Stars: ✭ 132 (+193.33%)
Mutual labels:  civic-tech
311-data
Empowering Neighborhood Associations to improve the analysis of their initiatives using 311 data
Stars: ✭ 48 (+6.67%)
Mutual labels:  code-for-america
Studentinsights
We work within school communities to make open, secure, student-centered data systems. Say [email protected]!
Stars: ✭ 121 (+168.89%)
Mutual labels:  civic-tech
Terremoto Cdmx
Respuesta rápida ante el terremoto de la CDMX
Stars: ✭ 119 (+164.44%)
Mutual labels:  civic-tech

RecordSponge

A project to automate expunging qualifying criminal records. This project is done in conjunction with Qiu-Qiu Law. Learn more in the wiki.

Please read our code of conduct.

If you're interested in learning more about our project and getting involved, please join us at one of our meetup events! You can also request an invite to join our Slack channel by contacting our CodeForPDX brigade leader, Hugh: [email protected]

Table of Contents

Tech Overview

This is a web app built using React for the in-browser interface, and a backend web service implemented with the Flask web framework in Python.

Our dev environment is entirely containerized with Docker, and no other dependencies need to be installed natively. We use Python's pipenv for maintaining backend dependencies. We use mypy to type check any optional typings and pytest to test backend code. We use NPM to develop and build the frontend code. Docker is used to build and deploy the app stack for both local development and for deployment to the web.

Installation

You can get your dev environment up and running with installing only Docker and docker-compose. The npm and backend dev servers run in docker containers, synced with source code directories so that code changes propagate on the local servers right away. If you have any trouble, don't hesitate to ask on our Slack channel!

  1. Fork the repo to create a copy for your own github account, and clone your own copy. (Read CONTRIBUTING.md for important info about syncing code your on github)

  2. Install docker

Running the docker stack

In the project's root directory, run make new. This pulls the dev-tagged "expungeservice" image and launches the containers using docker-compose. Start and stop the running stack with make up and make down.

After this target completes, you can navigate to http://localhost:3000 in the browser and connect to the React dev server with full hot-module reloading. This may take a minute or two to come up before it is available while it installs node modules. Check the service with make frontend_logs.

In the course of backend development, one may not need to be running the React/HMR dev server. To build the frontend static files, and use Flask to serve them, run the following command:

$ make frontend_down frontend_build

Then navigate to http://localhost:5000 to access the backend service directly. This is configured to serve the static files. make up will start the HMR dev server again at 3000 if you stopped it.

Whenever a dependency is added to the backend, someone needs to rebuild the dev-tagged image and push or folks will get errors when trying to run the stack. To do so, rebuild the image, and reload the backend with:

$ make backend_build backend_reload

If it works, push with:

$ make push

More details in DevOps README.

For more project documentation on Docker, some troubleshooting, and some basic commands, see: doc/docker.md

Cleaning

While in the directory of your local repo, run:

$ make clean

in order to remove build artifacts.

To completely remove containers, volumes, and compose networks, run:

$ make clobber

DevOps

See DevOps README.

Testing

Currently using pytest for testing the backend. Run all backend tests by running the following command in the project root directory:

$ make backend_test

This runs a pytest command to execute all the unit tests inside the backend docker container. All of these tests should pass if you have correctly set up the backend dev environment.

To run a subset of test cases without first shelling into the docker container, you can use a docker-compose exec command, which specifies a container by service name and a runnable command in the container in a single step, e.g.:

$ docker-compose exec expungeservice pipenv run pytest tests/[subdir]

To specify and run a subset of the test cases.

Contributing

Please see CONTRIBUTING.md

Technical Documentation

License

This project is open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].