Note: This repository works in conjunction with the CodeWithAloha/uipa repository. This repository is the "engine", while the froide repository is the "theme". It is very likely that any work you do will not be in this repository, but in the theme/uipa repository.
Getting information from the government is our right under the Freedom of Information Act, however the process is more opaque than you might expect. The Uniform Information Practices Act 92F (UIPA) is Hawaii's adoption of the FOIA. This portal is a way to help individuals through the process of submitting a FOIA request, as well as open sourcing the requests and responses for others to view - all for free!
- https://www.civilbeat.org/2018/09/new-service-helps-public-access-public-records/
- https://www.civilbeat.org/2021/06/we-need-to-improve-government-transparency-in-hawaii/
There are three main things that people have to stand up in order to start developing UIPA. These things are:
- The Databases (Elasticsearch & Postgres)
- The Backend (Django development server)
- The Frontend (vite)
At the end of setting up your development environment, you should have three terminal windows running each of these separately.
- Docker (for the databases)
The databases can be stood up together with one command using the provided docker-compose.yml
After running docker-compose up
successfully, the output in your terminal should look something like:
- Python 3.8+ (for the backend server)
To run the Django development server, we need to run the following commands:
# Installing dev-dependencies
pip install -r requirements-test.txt
# To initialise the database:
python manage.py migrate --skip-checks
# Create a superuser
python manage.py createsuperuser
# Create and populate search index
python manage.py search_index --create
python manage.py search_index --populate
# Run the Django development server
python manage.py runserver
After running these, you should see something like this in your terminal:
- NodeJS & npm (for the frontend)
- Yarn
# Install the dependencies
yarn install
# Run the front-end server (vite)
yarn dev
After performing these steps, the application should be available at http://127.0.0.1:8000/ and look like:
Many thanks to the Open Knowledge Foundation Germany for their work on Froide. Their docs on the project are available here including a Getting Started Guide.
Thanks to the Public First Law Center for providing guidance and hosting for the UIPA.org project.