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!

  • 𝕸𝖔𝖘𝖘@infosec.pub
    link
    fedilink
    English
    arrow-up
    28
    arrow-down
    1
    ·
    edit-2
    2 months ago

    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

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      ·
      2 months ago

      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!

  • gramie@lemmy.ca
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 months ago

    The database app in LibreOffice, based on the Firebird database engine, can do all that.

    • k4j8@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      2 months ago

      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.

    • krash@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      2 months ago

      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.

        • themeatbridge@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          2 months ago

          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.

          • Nomecks@lemmy.ca
            cake
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            2 months ago

            Sure, but how many foods are we talking here? This sounds like probably <20 rows on a sheet, with columns for ingredients.

            • OwlPaste@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              2 months ago

              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.

              • Shertson@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 months ago

                I’m not sure about libre office, but Excel has lookup and lookup. I’ve not personally used those. But might be of help.

  • dave@hal9000@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 months ago

    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)

  • johntash@eviltoast.org
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 months ago

    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.

    • OwlPaste@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      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.

  • OwlPaste@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    2 months ago

    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 🤣