I’m a big fan of disc golf. My landing page all things disc golf: Disc Golf
Discs are obviously a big deal. You buy or find discs (with no name), lose discs (a lot), or get mesmerized by majestic tour stamped discs.
I usually try to keep my Disc Golf Gear List separate from by disc database.
I’m not into discs as much as others, even after being into disc golf for years. I am a software engineer, and with that my nerdi-ness of wanting to keep stats takes over.
So I keep track of all new and lost discs I accumulate so I can see counts / stats.
I’ve missed some here and there of course, not a perfect bookkeeper.
I’ve tried different ways to keep track of discs:
- Excel file
- Obsidian markdown
- JSON file on GitHub
- (Active) Postgres + Noco DB
Every time, every implementation, eventually, the DB stops getting updated because it’s not simple enough.
I want these qualities from a disc database:
- Easy to update from desktop or mobile
- Private edit
- Easily shared / public viewable read-only
- Structured data
So I’m using neon.tech Postgres + Noco DB . Noco is free/open source and gives me the structured data I want and a nice UI to edit it. Nowadays it seems to work on mobile. I can either host a view on my website or just query SQL and render it how I want so others can view it.
Database I’m using https://neon.tech/ for free Postgres hosting. I don’t want to worry about backups or losing data.
My schema is one table. It could be normalized more but I don’t care:
create table noco.disc ( brand text, color text, model text, plastic text, number bigint, status text, weight bigint, created date, price numeric, notes text, aces bigint, id integer default nextval('noco.discs_source_csv_id_seq'::regclass) not null constraint discs_source_csv_pkey primary key, created_at timestamp default now(), updated_at timestamp default now() );
(Some of the columns are auto-generated by Noco but that’s a bit obvious)
Probably, the most important, column, is…
number. It’s really nice to be over 100 now. Also, it’s nice to differentiate help similarly colored no stamp discs:
Noco DB is hosted via 2023-09-06 Cloudflare Zero Trust Tunnel Setup so I can edit/view from anywhere.
For now, Noco’s “views” will do the job. It’s just an
Available here: https://loonison.com/discs
Another pro of using the view is you can download as CSV or XLSX. So others can take the same format if they want and I don’t have to write any UI or export API code 💪
- Show picture(s) of discs
- Delete JSON file from
/datafolder on GitHub
- Link this to blog index, link this to disc golf projects
- link to architecture?
I’ve been using this for a while, just thought I’d document it.
I’m mixing hosting locally and a cloud database, but I think this gives:
- Free (besides power)
- Data automatically backed up
- Secure public access with Cloudflare
- Minimal custom code
Along with this project, I want a similar flow to: 2023-09-16 New Project - Upload Udisc Scorecards and Populate Feed.