NYC OpenRecords is an application that assists individuals in the process of submitting Freedom of Information Law (FOIL) requests to a NYC Agency. The web application also allows government employees to manage, respond to, and fulfill incoming requests.
OpenRecords is currently being developed on RedHat Enterprise Linux v6 / v7 (in testing).
It relies on the following technologies:
- Python v3.5
- PostgreSQL v9.5
- ElasticSearch v5.2
- Redis v3.2
Authentication
- OpenRecords currently implements LDAP and OAuth for authentication. For development, you can bypass authentication by setting both
'USE_OAUTH'
and'USE_LDAP'
toFalse
.
We have optional integrations with Sentry for error tracing and are working on an integration with the ELK stack for log aggregation and analytics.
- Vagrant (v2.1.4) - Newer version may work but have not been tested.
- Virtualbox (v5.1.32) - Newer versions may work but have not been tested.
- Vagrant-VBGuest
- Redhat Developer Account (https://developers.redhat.com)
- FakeSMTP (Optional, for testing email functionality)
- Install Virtualbox and Vagrant.
- Install vagrant-vbguest:
vagrant plugin install vagrant-vbguest
- Create your
.env
file:cp .env.example .env
- Edit your
.env
file. Look at the comments in.env.example
andconfig.py
for examples of valid values. - Create your
Vagrantfile
cp Vagrantfile.example Vagrantfile
- Startup your Vagrant machine
RH_USER=<YOUR REDHAT DEVELOPER USERNAME> RH_PASS=<YOUR REDHAT DEVELOPER PASSWORD> vagrant up default
- Once Vagrant has finished setting up the VM, ssh in to the system (
vagrant ssh
). You'll need to have 2 different SSH Sessions open. Terminal 1 - CeleryTerminal 2 - Flasksh /vagrant/.startup/celery_startup.sh
sh /vagrant/.startup/flask_startup.sh
TBD (If you would like to help us setup a development environment on Windows, please try it out and submit issues as they come up.)
Please open an issue in this repository if you have any questions or any difficulty setting up and using OpenRecords.