This project is a website that aggregates and organizes lobbying data in Colorado.
- Ruby 3.2.2
- Rails 7.0.8
To create the database, run
rails db:{create,migrate}
To import test data, run
rails import_data:all
Importing all the data takes a little while, but you should see progress in your terminal.
A client
hires a lobbyist
A lobbyist
can have many clients
A client
can hire many lobbyists
A lobbyist
receives monthly income
from a client
A position
belongs to one client
and one lobbyist
A position
corresponds with one bill
(or issue)
The main problem that I'm trying to solve is of how to best show the relationships between
- Lobbyists
- Clients
- Bill
- Income
- Position
A piece of legislation from the Colorado legislature.
Attribute | Datatype | Notes |
---|---|---|
id |
bigint | |
bill_num |
string | A unique bill number. HB24-1001, for example. |
title |
string | Short bill title. |
fiscal_year |
string | Fiscal year of the bill, IE 2024-2025. |
created_at |
datetime | |
updated_at |
datetime |
Someone who hires a lobbyist or the organization for whom a lobbyist works. From CO SoS office.
Attribute | Datatype | Notes |
---|---|---|
id |
bigint | |
name |
string | |
address |
string | |
city |
string | |
state |
string | |
zip |
string | |
phone |
string | |
industry_trade_type |
string | |
business_type |
string | |
begin_date |
date | |
end_date |
date | |
status |
string | |
ceo_names |
string | |
fiscal_year |
string | |
annual_lobbyist_registration_id |
bigint | |
lobbyist_id |
bigint | FK lobbyist |
A payment from a client
to a lobbyist
.
Attribute | Datatype | Notes |
---|---|---|
id |
bigint | |
annual_lobbyist_registration_id |
bigint | |
client_name |
string | |
client_zip |
string | |
business_type |
string | |
industry_trade_type |
string | |
amount |
integer | |
date_received |
date | |
report_month |
string | |
report_due_date |
date | |
fiscal_year |
string | |
lobbyist_id |
bigint | FK lobbyist |
client_id |
bigint | FK client |
A Registered lobbyist in the state of Colorado. Data comes from the SoS office.
Attribute | Datatype | Notes |
---|---|---|
id |
bigint | The primaryLobbyistId assigned by the CO SoS. |
name |
string | |
last_name |
string | |
first_name |
string | |
middle_name |
string | |
suffix |
string | |
firm_name |
string | |
address |
string | |
city |
string | |
state |
string | |
zip |
string | |
phone |
string | |
fiscal_years_registered |
string | |
lobbyist_type |
string | Mostly Professional. Some State and Redistricting. |
designation |
string | - Individual lobbyist that is not employed by a lobbying firm - Individual lobbyist employed by a lobbying firm - Lobbying firm with 2 or more members - Single-member lobbying firm - Entities reporting contributions and expenditures only - designation not available |
status |
string | * Current * Expired * Terminated |
created_at |
datetime | |
updated_at |
datetime |
The position of a client on a particular piece of legislation. Reported monthly. Specific to a client and lobbyist.
Attribute | Datatype | Notes |
---|---|---|
id |
bigint | |
report_month |
string | |
fiscal_year |
string | |
position |
position | Support, Oppose, Watching, or Amending |
bill_id |
bigint | Reference to a bill |
client_id |
bigint | Reference to a client |
lobbyist_id |
bigint | Reference to a lobbyist |
created_at |
datetime | |
updated_at |
datetime |
- Professional lobbyists and firms directory (TXT)
- Client positions - subjects and bills - current fiscal year (TXT)
- Client directory - current fiscal year (TXT)
- Lobbying income - current fiscal year (TXT)