An app to quickly find an Atlanta city council representative.
This app works by multiplexing a few commercial, federal and local Atlanta government sites into one.
- egis.atlantaga.gov to find a district by street address.
- citycouncil.atlantaga.gov for information about council members such as full name, photo, and contact info.
- dcp-coaplangis.opendata.arcgis.com for city council district boundries.
- geocoding.geo.census.gov to get geospatial coordinates for a street address.
There are three components:
- /web, javascript web interface.
- /scraper, gleans information from the city council web site.
- /backend, provides the Geocoding API and serves scraped council data.
- Fork this repo: click here
- Clone the fork onto your development machine.
The frontend uses Typescript, Tailwind CSS, JSX, and Snowpack.
- Change to front end's folder:
cd web
- Install dependencies:
yarn install
- Start the devserver:
yarn start
The backend uses Go and the Chi router framework, packaged into a docker container.
cd backend
make all
./bin/cli
to run queries programatically, or./bin/server -d data
to run queries through the api.
cd scraper
python3 -m venv ./venv
to create a Python3 virtual env.source ./venv/bin/activate
to load the virtual env.pip install -r requirements.txt
to install dependencies.python3 main.py
to scrape the city council website and save ascitycouncil.json
.