1.1 KiB
1.1 KiB
National Parks Demo App
Prerequisites
- Ruby 3.4.7
- Bundler
- An API key from the national parks service
Under the hood
- Ruby 3.4.7
- Rails 8.0.3
- SQLite
Getting started
bundle install
- You know this one; install dependencies
- Set
NPS_API_KEYusing your tool of choice bin/rails db:prepare
- This will create and load your database
- hint:
tail -f log/development.logto see what's going on
bin/rails server
- Congrats you're ready to receive requests
❯ curl 'localhost:3000/api/v1/parks?per_page=1' | jq '.'
[
{
"id": 1,
"code": "abli",
"name": "Abraham Lincoln Birthplace",
"states": "KY",
"properties": {},
"created_at": "2025-10-08T09:26:00.202Z",
"updated_at": "2025-10-08T09:26:00.202Z"
}
]
Testing
bin/rspec
TODO
- What additional cols to add to parks model?
- Order results on index actions
- Enum on category for alerts
- index states for efficient search?
- full text search in sqlite?
- normalize state on a separate table?
- With postgres I would use a states:array col and gin index