I need to record information about what my cat eats and does, as she might have a food allergy and I need to track down what it is.
So I am after some kind of a user friendly locally hosted database (maybe via some kind of app), preferably Linux friendly.
It would be nice if it had similar relationships to the added image, some kind of relational DB that I can fill with data. But essentially I need to have a bunch of lookup tables to return some data specific to difference events.
Its a bit of a pain (and takes time) to have to write an entire webapp to manage all this from scratch, that’s why I am looking for some kind of user friendly GUI way to do it. Surely there must be some kind of relational database managing “application” that lets you set up some lookup tables and enter data in a nice and easy GUI way to do it? sqllitebrowser
doesn’t count as it doesn’t handle linked tables in a nice way (would be nice if its friendly for my wife to use) :)
Cheers!
I use dbeaver on ubuntu and windows.
Personally, I would use a simple spreadsheet for this.
But if you have your heart set on a db, you can use Access or LibreOffice Base for ease of initial setup.
Maybe SQL (or PRQL, if you’re feeling cutting edge) with some dbms (SSMS Community I think is still free, or maybe Heidi SQL) but this will require you maintain a server as well. PostgreSQL is what I generally use if I want to spin up something quickly. I do like SQL quite a bit, but it seems overkill for this task.
Edit: autocorrect
LibreOffice Base seems like a good idea for something like this. SQL based with a UI to create forms, reports, etc.
It’s probably one of the few times it would be an appropriate tool to use!
Yea, talk about overcomplicating a simple task.
Would DBeaver suffice?
I use DBeaver at work when I am having problems with psql commands in terminal. It’s prevented me from pulling out my hair a few times.
Question is, what is its Wife Acceptance Factor (WAF)?
I also suggested this. Friendly on lots of operating systems too.
The database app in LibreOffice, based on the Firebird database engine, can do all that.
You might be looking for Nocodb
Perfect application for NocoDB in my opinion. They have a relationship view like the one shown in the screenshot and a form builder for easily adding new data. Setting up the relationships is easy. I find it much easier to use than DBeaver and the GUI is more modern.
The data is accessible by programs such as DBeaver, and they have a REST API too, should you need it.
Hmm, nocodb is a webapp first and foremost. It does have binaries to run directly on the host, but I’m not entirely sure to recommend this over libreoffice actual app for database management. I believe it would be more in line with OPs requirement.
check out SQLiteStudio. It looks a good deal simpler than using dbeaver and it works on Linux. https://www.sqlitestudio.pl/
Yessss this program is amazing. One of the few things I’ve donated to.
I think Grist would definitely fit your needs.
Why wouldn’t a simple spreadsheet and some pivot tables work?
The data is relational. Spreadsheets are a pain to use for that.
Never use a spreadsheet to do a database job.
Tracking a single cat doesn’t seem like DB work
But it’s not just the cat. OP wants to track the foods the cat is eating and the allergens in the food, and then look for correlations and trends. You could manage most of that with a spreadsheet, but you’d have to update reference tables every time you add a new entry. OP wants something user friendly.
Sure, but how many foods are we talking here? This sounds like probably <20 rows on a sheet, with columns for ingredients.
Looking to replicate something like this (with a weekly/monthly/ect views, maybe monthly view can look different since it would be too long to scroll, but anyway, it looks like arse but was just giving it a go), but didn’t want to have to create a full webapp (with CRUD data inserts, pagination ect… its certainly doable, but just annoying to implement). This is just a simple index view in a random framework I found, with some real, but pre-canned data via db seeding (so at least I can re-create it easily). Just thought there could be something easier that already exists and i wouldn’t have to be re-inventing the wheel. Have a paper version of this, but its too hard to keep track of different foods via paper.
Spreadsheet sounds interesting (read easier) to try, though I am not quite sure how to do the lookup bits. Would it be something like one table (sheet) of events feeding from say, food type table (sheet) and some kind of a month view that can accumulate events on the same day?
PS: yes got a vet appointment coming up soon.
I’m not sure about libre office, but Excel has lookup and lookup. I’ve not personally used those. But might be of help.
I was looking for something similar for a while, like something for simple relational data with some GUI for data entry, aka “I don’t wanna write a little web app just for this”. I had used AirTable at work before at work so that’s what came to mind and my searching was basically for “open source or selfhosted alternative to AirTable”.
Came across some decent candidates, can’t remember all the names, but the one I tried, Grist, was pretty straightforward and did the job: easy relational data setup, GUI for all basic data types including file uploads, easy to create input forms, and widgets that talk to the API and you can customize with JavaScript. Setup was easy with docker
EDIT: other names that came up when looking were NocoDB and BaseRow ( I don’t remember why I didn’t try them for my specific needs)
Many thanks for all the replies, il take a look at them!
I’d love you to check back later with your conclusions.
It’s already been recommended, but I think Grist or a lowcode/nocode thing like baserow or nocodb might work for you.
Also, I’d love to see what you come up with! My cats are picky eaters and I’ve been wanting to keep track of what wet food they like or not.
That’s an interesting point, I decided to carry on with the webapp route, but it would be easy to make it “multi-cat” actually. What I really wanted was a lightweight calendar but I couldn’t find one that had pre-canned events or had too many other things I didn’t want.
Thank you for the suggestions, I tried a bunch and nothing immediately fit. Most were either too complicated for me to create the relationships or I couldn’t get the thing locally running (or there wasn’t a self hosted option)… Basically stupid user syndrome 😑 😤.
So went back to the drawing board of writing a webapp and after a few experiments realised that… All I needed was a calendar with pre-canned event titles, groups for colour to highlight different events… silly me, all I needed was a calendar…
Ended up re-inventing something looking very much like a calendar… sigh… do I carry on or look for some kind of lightweight calendar :/ Just need to have ability to quickly create pre-canned events, would be nice if the events could be related…
On the other hand, its kinda fun to re-invent a calendar haha!
Here is a colour version… totally a calendar 🤣
Not locally hosted, but pretty powerful and has a free tier.
Basically spreadsheets but superpowered.
Grist is a selfhostable alternative to Airtable
postgresql db (e.g. in Docker) + Dbeaver as GUI client
I found this site which might help you in your search.
Food for thought (no pun intended), but unless you’re willing to build an app (could be a great app; I doubt you’re the only person who could use this), you might be over engineering this quite a bit. A spreadsheet could be made to do what you’re looking for, with much less effort.