MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Community opinions on an interactive List module

    Scheduled Pinned Locked Moved Development
    2 Posts 2 Posters 261 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cpcode
      last edited by

      Building my first MM project, it’s a touch-screen for the family. One of my main needs is the ability to display interactive lists: meals for the week, items in our deep freezer, etc. I’d like the community to weigh in on whether you think it would be better for me to write my own module or use & modify an existing one.

      For context: I built my first module already, a fairly easy timer. I’m fine with JS and CSS, though this is my first real node.js and Linux experience.

      Requirements and nice-to-haves:

      • ability to add/edit/remove items directly on the screen
      • ability to optionally show a quantity for each item, and to easily change that. Worst-case I can do this within the item text, but it’d be nicer for the family to have a number they can touch and change next to each list item
      • multiple lists
      • ability to access the list from my phone while I’m out. This isn’t an absolute requirement but it would be nice.

      I looked at the existing 3rd party modules, and the biggest issues are lack of interactivity - since many of you have this as a mirror, - and unknown module support. Modules that display from AnyList, Todoist, Microsoft To Do, Google Keep/Shopping List/Sheets look ok but I’d have to implement the interactive bits, as well as any other changes (some of the above may not work anymore).
      Ideally I would love an integration with OurGroceries but I’m not sure I’m quite up to that task. I also looked at Mealie, which looks great, but the API is a bit daunting.

      If implementing my own module, I’d probably just keep the lists as json files in the module folder. I’m guessing this would be easier, but I don’t know how useful it would be to the community.

      This is an open-ended prompt, and all thoughts are much appreciated. Are there modules out there I could use or build on? What do you think are some pros and cons?
      Thanks!

      S 1 Reply Last reply Reply Quote 1
      • S Offline
        sdetweil @cpcode
        last edited by sdetweil

        @cpcode welcome to the fun… you’ve done a good bit of the analysis work.

        as you’ve seen, very little interactivity is provided today

        there is a keyboard module https://github.com/lavolp3/MMM-Keyboard
        but thats such a tiny part of what you want to do…
        MM is a web page, so you can do it. .

        maybe managing the content and form are doable in the JSONFORM library
        https://github.com/jsonform/jsonform

        I use this in my MMM-Config module for customizing MagicMirror config.js without editing
        I’d store this kind of data in a mongo db, its all json, don’t have to do sql
        then there are modules that can display from json

        apis to update whatever source are the challenge
        accessing from phone is possible with jsonform too… its just a web page

        I use OurGroceries and Mealie as well.

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • 1 / 1
        • First post
          Last post
        Enjoying MagicMirror? Please consider a donation!
        MagicMirror created by Michael Teeuw.
        Forum managed by Sam, technical setup by Karsten.
        This forum is using NodeBB as its core | Contributors
        Contact | Privacy Policy