https://github.com/CityOfNewYork/NYCOpenRecords
A web application to submit and view Freedom of Information Law requests
https://github.com/CityOfNewYork/NYCOpenRecords
foil government government-data nyc openrecords transparency
Last synced: 3 months ago
JSON representation
A web application to submit and view Freedom of Information Law requests
- Host: GitHub
- URL: https://github.com/CityOfNewYork/NYCOpenRecords
- Owner: CityOfNewYork
- License: apache-2.0
- Created: 2015-06-01T15:56:23.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2024-08-05T13:51:55.000Z (about 1 year ago)
- Last Synced: 2024-08-05T16:00:46.520Z (about 1 year ago)
- Topics: foil, government, government-data, nyc, openrecords, transparency
- Language: Python
- Homepage: http://nyc.gov/openrecords
- Size: 48.6 MB
- Stars: 48
- Watchers: 13
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

[](https://www.codacy.com/app/NYCRecords/NYCOpenRecords?utm_source=github.com&utm_medium=referral&utm_content=CityOfNewYork/NYCOpenRecords&utm_campaign=Badge_Grade)
# NYC OpenRecords
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.
## Getting Started
### Technical Requirements
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'` to `False`.
We have optional integrations with [Sentry](https://sentry.io) for error tracing and are working on an integration with the ELK stack for log aggregation and analytics.
### Pre-Requisites
- 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](https://github.com/dotless-de/vagrant-vbguest)
- Redhat Developer Account (https://developers.redhat.com)
- FakeSMTP (Optional, for testing email functionality)
### Setting Up Development Environment (WIP)
#### On Mac OS X:
1. Install Virtualbox and Vagrant.
2. Install vagrant-vbguest:
```bash
vagrant plugin install vagrant-vbguest
```
3. Create your `.env` file:
```bash
cp .env.example .env
```
4. Edit your `.env` file. Look at the comments in `.env.example` and `config.py` for examples of valid values.
5. Create your `Vagrantfile`
```bash
cp Vagrantfile.example Vagrantfile
```
5. Startup your Vagrant machine
```bash
RH_USER= RH_PASS= vagrant up default
```
6. 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 - Celery
```bash
sh /vagrant/.startup/celery_startup.sh
```
Terminal 2 - Flask
```bash
sh /vagrant/.startup/flask_startup.sh
```
#### On Windows:
**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.)
## Questions?
Please open an issue in this repository if you have any questions or any difficulty setting up and using OpenRecords.